答案是需同步修改PHP 8.3的php.ini中max_execution_time、PHP-FPM的request_terminate_timeout、Apache的php_value配置(或.htaccess)三处,并重启PHP服务;若用PHP-FPM模式,还可通过.user.ini单站设置。

小皮面板(XPanels)里改 PHP 8.3 的 max_execution_time,不能只动一个地方。它和宝塔类似,涉及 PHP 解析层、PHP-FPM 进程层、Web 服务器通信层三者协同,漏掉任意一环都可能还是 504 或脚本被杀。
1. 先改 PHP 8.3 的 php.ini 主配置
这是基础动作,影响所有用该 PHP 版本的网站:
- 进小皮面板 → 【软件管理】→ 找到已安装的 PHP 8.3 → 点【设置】→ 【配置文件】
- 在打开的
php.ini中搜索max_execution_time,默认是30 - 改成你需要的值,比如
max_execution_time = 600(10 分钟) - 同时检查并同步修改这两项:
max_input_time = 600(防止大表单/上传中途断)memory_limit = 512M(避免超时前先因内存爆掉) - 保存后,必须点【重启 PHP 8.3 服务】,否则不生效
2. 同步调整 PHP-FPM 的 request_terminate_timeout
这个参数在小皮里藏得深,但很关键——它优先级高于 max_execution_time,一旦启用会直接强杀进程:
- 路径通常是:
/www/server/php/83/etc/php-fpm.conf(注意版本号是 83,不是 8.3) - 用小皮自带的文件管理器或 SSH 打开,搜索
request_terminate_timeout - 如果这行被注释(前面有分号),取消注释;如果不存在,手动加一行:
request_terminate_timeout = 600 - 保存后,同样要【重启 PHP 8.3 服务】
3. 小皮的 Web 服务器是 Apache,不是 Nginx
这点和宝塔不同:小皮默认用 Apache + mod_php(非 PHP-FPM 模式),所以不用配 fastcgi_read_timeout,但要确认 Apache 模块是否启用超时控制:
修复 Core bailout 状态损坏安全问题,以及 BZ2、DOM、PDO、Opcache/JIT 内存与执行错误,改进 Unicode 字素处理、URL 解析、TLS 流状态、信号分发及会话错误处理。
立即学习“PHP免费学习笔记(深入)”;
- 进小皮 → 【网站】→ 选目标站点 → 【设置】→ 【伪静态】或【配置文件】
- Apache 下有效的是
php_value指令,可在站点根目录的.htaccess里加(需 Apache 开启AllowOverride All):php_value max_execution_time 600php_value max_input_time 600 - 或者更稳妥:直接在小皮站点【配置文件】的
<directory></directory>区域内添加上述两行
4. 单站点临时放宽?优先用 .user.ini(仅限 PHP-FPM 模式)
如果你的小皮是 PHP-FPM 模式(可在 PHP 设置里看“运行模式”),那可以只对某个网站调高限制:
- 进该网站根目录,新建或编辑
.user.ini - 写入:
max_execution_time = 600max_input_time = 600 - 确保 PHP 配置中
user_ini.filename = ".user.ini"已启用(在 php.ini 里搜这一项) - 文件权限设为
644,否则 PHP 不读
改完别忘了验证:建个测试页,用 phpinfo() 查 max_execution_time 和 request_terminate_timeout 是否已更新,再跑个 sleep(610) 看是否真能撑住。不复杂但容易忽略联动性。


















