在Ubuntu服务器环境中部署PHP应用程序时,脚本执行超时是运维人员与开发者常遇到的性能瓶颈。特别是在处理大规模数据导入、执行复杂算法运算或与第三方API进行长时间会话交互的场景下,默认的30秒执行上限往往无法满足实际需求。解决这一问题的核心在于调整PHP的运行时配置。本文将系统介绍两种在Ubuntu系统中修改PHP最大执行时间的权威方法,帮助您精准优化服务器性能。

方法一:修改 php.ini 配置文件(全局生效方案)
此方法通过修改PHP主配置文件实现全局生效,适用于需要对服务器上所有PHP应用统一调整执行时长的场景,是最高效的底层配置方案。
-
通过SSH或终端登录您的Ubuntu服务器,进入命令行操作界面。
-
定位当前PHP环境所使用的配置文件路径。执行以下诊断命令:
php --ini在命令输出结果中,查找“Loaded Configuration File”字段,其对应的文件路径即为系统当前加载的
php.ini配置文件位置。 -
使用文本编辑器(推荐nano或vim)以管理员身份打开该配置文件。示例命令:
sudo nano /path/to/php.ini请务必将
/path/to/php.ini替换为上一步骤获取的实际路径。 -
在配置文件中定位
max_execution_time参数。可使用编辑器的搜索功能(nano中按Ctrl+W)快速查找。找到后修改其数值:max_execution_time = 300建议值300表示将执行时间延长至5分钟。您可根据实际业务需求调整为600(10分钟)等数值。若需取消限制(生产环境慎用),可设置为0。若配置文件中无此参数,可在文件末尾的[PHP]章节下新增该行配置。
-
配置修改完成后保存文件。在nano编辑器中,依次按
Ctrl+X、Y、Enter即可完成保存退出。 -
关键步骤:重启Web服务使配置生效。 根据您的服务器架构选择相应重启命令:
- Apache服务器环境:
sudo systemctl restart apache2- Nginx + PHP-FPM组合环境: 需分别重启两个服务组件。
sudo systemctl restart nginx sudo systemctl restart php-fpm服务重启后,新的PHP执行时间限制将在全局范围内立即生效。
方法二:配置 .htaccess 文件(Apache目录级精准调整)
当您需要针对特定网站目录(如某个WordPress站点或Web应用)单独调整超时设置,且不具备服务器根权限时,使用.htaccess文件进行目录级配置是最灵活的解决方案。
-
通过FTP或命令行进入目标网站根目录(例如
/var/www/html/your_project),检查是否存在.htaccess文件。若不存在,可新建该隐藏文件。 -
编辑或创建
.htaccess文件,在其中添加PHP配置指令:php_value max_execution_time 300将数值300替换为您需要的具体秒数。此配置仅对当前目录及其所有子目录中的PHP脚本生效。
-
保存文件后,Apache服务器通常会即时读取新配置。若未生效,可尝试重启Apache服务:
sudo systemctl restart apache2。
重要提示: .htaccess配置方法仅适用于Apache服务器环境。若您使用Nginx作为Web服务器,需通过修改站点配置文件(通常在/etc/nginx/sites-available/目录下)中的fastcgi_read_timeout参数来实现类似效果。
通过上述两种方案,您可以根据实际运维需求灵活调整Ubuntu系统中PHP脚本的执行时间上限。配置完成后,建议执行一个模拟长时间运行的PHP脚本进行验证测试。同理,如需调整PHP内存限制(memory_limit)或文件上传大小(upload_max_filesize)等参数,均可参照此流程——定位参数、修改数值、重启服务,即可完成全方位的PHP性能调优。
