Skip to content

Symfony

Symfony 是创建网站和 Web 应用程序的领先 PHP 框架。建立在 Symfony 组件之上。

要求

  • 构建包 设置为 nixpacks
  • 设置 APP_ENV
  • 设置 APP_SECRET
  • NIXPACKS_PHP_FALLBACK_PATH 设置为 /index.php
  • NIXPACKS_PHP_ROOT_DIR 设置为 /app/public
  • 端口暴露 设置为 80

数据库迁移

如果您使用 Doctrine,可以添加以下 部署后脚本

php bin/console doctrine:migrations:migrate --all-or-nothing --no-interaction

其他组件

如果您的应用程序需要数据库或 Redis,您可以预先在 Coolify 仪表板中创建它们。

您将收到连接字符串,可以在应用程序中使用并将其设置为环境变量:

bash
DATABASE_URL=postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8

REDIS_HOST=<REDIS_HOST>
REDIS_PASSWORD=null
REDIS_PORT=6379

受信任代理

您可能需要配置受信任代理

  • 设置环境变量 TRUSTED_PROXIES 为您的服务器 IP
  • 添加以下 Symfony 配置:
yaml
# config/packages/framework.yaml

framework:
    trusted_proxies: "%env(TRUSTED_PROXIES)%"
    trusted_headers: ['x-forwarded-for', 'x-forwarded-host', 'x-forwarded-proto', 'x-forwarded-port', 'x-forwarded-prefix']

持久化 php.ini 自定义

如果您想自定义 php.ini 文件的设置,您可以通过使用 php_admin_value 指令并将它们附加到您的 php-fpm.conf 文件来轻松实现:

toml
"php-fpm.conf" = '''
[www]
listen = 127.0.0.1:9000
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
pm = dynamic
pm.max_children = 50
pm.min_spare_servers = 4
pm.max_spare_servers = 32
pm.start_servers = 18
clear_env = no

php_admin_value[memory_limit] = 512M
php_admin_value[max_execution_time] = 60
php_admin_value[max_input_time] = 60
php_admin_value[post_max_size] = 256M
'''