php脚本超时可通过五种方式调整:一、set_time_limit()动态设置;二、修改php.ini中max_execution_time并重启服务;三、.htaccess中用php_value(仅apache);四、ini_set()函数运行时修改;五、cli下用-d参数指定。

如果您运行PHP脚本时遇到执行被意外中断或返回“Maximum execution time exceeded”错误,说明当前脚本已超出默认的最大执行时间限制。以下是调整PHP脚本超时限制的多种方法:
一、使用set_time_limit()函数动态设置
该函数可在脚本运行期间动态修改最大执行时间,适用于需要临时延长超时的场景。设置值为0表示取消时间限制(需注意服务器配置允许)。
1、在PHP脚本开头或需要延长超时的位置插入函数调用。
2、传入所需秒数,例如:set_time_limit(300); 表示将超时设为300秒。
立即学习“PHP免费学习笔记(深入)”;
3、若需彻底禁用超时,可传入0:set_time_limit(0);
二、修改php.ini中的max_execution_time指令
此方式影响所有通过该PHP配置运行的脚本,属于全局性设置,修改后需重启Web服务器或PHP-FPM服务才能生效。
1、定位php.ini文件路径,可通过php --ini或phpinfo()确认。
2、用文本编辑器打开php.ini,查找max_execution_time行。
3、将其值修改为所需秒数,例如:max_execution_time = 600
4、保存文件并重启Apache、Nginx或PHP-FPM服务。
三、通过.htaccess文件设置(仅限Apache模块模式)
适用于共享主机等无法修改php.ini的环境,仅对当前目录及子目录下的PHP脚本生效。
1、在网站根目录或目标目录中创建或编辑.htaccess文件。
2、添加如下指令:php_value max_execution_time 420
3、确保Apache已启用AllowOverride Options或AllowOverride All,且mod_php或mod_env已加载。
四、使用ini_set()函数在脚本中修改
该函数可在脚本运行时尝试修改配置项,但受PHP配置中disable_functions和safe_mode(已废弃)限制,且部分指令为PHP_INI_ALL,部分为PHP_INI_SYSTEM。
1、确认max_execution_time是否支持运行时修改(PHP 8.0+仍为PHP_INI_ALL)。
2、在脚本起始处调用:ini_set('max_execution_time', '480');
3、可通过ini_get('max_execution_time')验证是否生效。
五、CLI模式下通过命令行参数指定
当以命令行方式运行PHP脚本(如php script.php)时,可通过-d参数覆盖配置值,无需修改任何配置文件。
1、在终端中执行脚本时附加参数,例如:php -d max_execution_time=720 script.php
2、该设置仅对本次执行有效,不影响其他脚本或Web请求。











