有人知道如何增加 MAMP / MAMP Pro 上的 apache fastCGI 超时吗?我到处都找过了,但似乎找不到。
一如既往地感谢任何帮助。
谢谢, Codarz360
这太乏味了,但终于成功了。
在 MAMP PRO 中:
在文件 > 编辑模板 > apache > httpd.conf 下
找到 mod_fcgi 的块
<IfModule mod_fastcgi.c>
并删除以下行:
MAMP_FastCgiServer_MAMP
由于您可以指定要在每个域中使用哪个版本的 PHP,因此您需要为每个 php 版本设置一个新的 fastcgiserver 及其相应的 -idle-timeout ### 标志。这些应该放置在您删除前一个
MAMP_FastCgiServer_MAMP
行的位置。
示例:
FastCgiServer /Applications/MAMP/fcgi-bin/php5.5.10.fcgi -idle-timeout 2400
FastCgiServer /Applications/MAMP/fcgi-bin/php5.4.25.fcgi -idle-timeout 3600
保存文件,MAMP PRO 将要求您重新启动所有服务器才能使更改生效。测试一下,您应该能够执行您正在执行的操作,并且不会出现 500 错误。
我找到了另一个解决方案,我认为这是一个不那么老套的解决方案。
您可以编辑 MAMP/fcg-bin/phpx.x.x.fcgi 并将
-idle-timeout 3600
添加到 exec
行。
结果会是这样的:
exec /Applications/MAMP/bin/php/php5.5.10/bin/php-cgi -c "/Library/Application Support/appsolute/MAMP PRO/conf/php5.5.10.ini" -idle-timeout 3600
这实际上适用于我的设置。该死的 FastCGI 超时错误!
更新:对于 MAMP 4.x,您需要在 MAMP PHP 设置中启用 Xdebug,保存、退出 MAMP 并再次启动(通过 https://stackoverflow.com/a/44341930)。
对我有用的另一个解决方案是简单地添加
FcgidIOTimeout 3000
FcgidBusyTimeout 3000
直接在 MAMP_FastCgiServer_MAMP 下方到 Apache httpd.conf 文件,可以在 MAMP 内进行管理。
如果您在 MAMP Pro 中运行多个主机,请确保将 PHP 设置为使用“模块”选项,而不是 CGI 选项。否则,其他 CGI 更改都不会产生任何影响。在我的例子中,设置建议的
-idle-timeout
选项(如上所述)会阻止服务器启动。
我目前使用的是 MAMP 7.0。我想我会对这次对话做出贡献。对我有用的是将“-idle-timeout 9600”添加到块中的 FastCgiServer 配置中。
例如FastCgiServer /Applications/MAMP/fcgi-bin/php.fcgi -idle-timeout 9600 -socket httpdFastCGI.sock