参考资料

  1. Composer 换国内源是提升依赖下载速度最直接的方法
  2. Fresns 的时区配置核心是在 .env 文件中设置 APP_TIMEZONE 参数
  3. Fresns 的软链接,核心是解决“本地存储的文件无法被公网访问”的问题
  4. Fresns 对 Composer 的版本要求很明确:不低于 2.5
  5. Fresns 的 PHP 扩展要求分为 必选 和 按需安装 两类
  6. Fresns 在宝塔面板下的目录所有权,通常需要设为 www 用户和 www 用户组
  7. Fresns 的队列,它的核心是按需配置,并非安装必选项
  8. Fresns 对 PHP 超时限制有明确要求,主要是为了避免插件依赖下载超时

Fresns 对 PHP 超时限制有明确要求,主要是为了避免插件依赖下载超时

Fresns 对 PHP 超时限制有明确要求,主要是为了避免插件依赖下载超时,以及支持前端大文件上传等场景。默认的 30 秒通常不够用,需要适当加大。

📂 宝塔面板设置方法(推荐)

在宝塔面板中,不要只改全局 php.ini,优先调整站点级别的设置,优先级更高且更稳定。

路径:进入【网站】→ 找到 Fresns 站点 →【设置】→【PHP 版本】→ 点击右侧的**“设置”按钮**(不是“配置文件”)→ 找到 “最大脚本运行时间” → 填入需要的秒数(如 300 或 600)→ 保存。

这个操作会自动为该站点生成 .user.ini 文件,优先级高于全局配置,且重启 PHP 后不会丢失。

⚙️ 需要协同调整的其他超时参数

只改 max_execution_time 往往不够,Nginx 和 PHP-FPM 各自有独立的超时控制,必须同步调整。

1. Nginx 的 fastcgi_read_timeout
进入该站点的【配置文件】,在 location ~ \.php 区块内添加或修改:

fastcgi_read_timeout 300;
fastcgi_send_timeout 300;
fastcgi_connect_timeout 300;

建议三个值设成一致,且 ≥ PHP 的 max_execution_time。

2. PHP-FPM 的 request_terminate_timeout
路径:/www/server/php/{版本号}/etc/php-fpm.d/www.conf。找到 request_terminate_timeout 这一行,将其设为与 max_execution_time 相同或更大的值(如 300),或直接注释掉(表示不限制)。

⚠️ 注意事项

宝塔“防跨站攻击”的影响:如果开启了宝塔的“防跨站攻击”功能,它可能会强制限制 max_execution_time 为 300 秒且无法调高。如果发现改了不生效,可以检查该开关。

生产环境慎用 set_time_limit(0):在代码中设置无限执行时间看似一劳永逸,但可能导致卡死的脚本一直占用 PHP-FPM 进程,引发资源堆积甚至 503 错误。建议按接口预估耗时,精准设值,而不是全局放开。

权限确认:.user.ini 文件权限需为 644,否则 PHP 可能拒绝读取。

作者:王壹杰
时间:2026-10-01 16:55:54
来源:https://fresns.ciilii.com/