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
'''