MAMP Pro中PHP 7.1.33的max_execution_time无法超过30秒
解决CakePHP 2 + MAMP Pro中max_execution_time超过30秒不生效的问题
以下是几个可直接排查和解决的方向:
检查Apache的Timeout配置
Apache自带Timeout指令,默认值通常为30秒,这个设置会优先于PHP的max_execution_time,超时后Apache会直接终止请求。操作步骤:- 打开MAMP Pro,进入「Apache」选项卡
- 点击「Open Template」打开httpd.conf配置文件
- 找到
Timeout行,将数值修改为你需要的时长(比如Timeout 60) - 重启Apache服务
确认修改的是当前生效的PHP配置文件
不要盲目修改MAMP内的所有PHP配置文件,先查看phpinfo()输出里的「Loaded Configuration File」项,定位当前运行的PHP版本对应的php.ini路径,仅修改该文件中的max_execution_time,之后重启服务。排查CakePHP代码中的手动时间限制
检查项目的app/Config/bootstrap.php或执行大型查询的控制器代码,是否存在set_time_limit()函数调用(比如set_time_limit(30)),这类代码会覆盖php.ini的配置,可注释或修改为需要的数值。FastCGI模式下的额外超时设置
若PHP通过FastCGI运行,还需调整MAMP Pro里的FastCGI超时参数:- 进入MAMP Pro的「PHP」选项卡
- 找到「FastCGI」相关设置,将
FcgidIOTimeout或类似参数调整为大于30秒的值 - 重启Apache和PHP服务
内容的提问来源于stack exchange,提问作者Ryan H
相关产品推荐
相关产品推荐

