【问题标题】:How do you increase the apache fastCGI timeout on MAMP / MAMP Pro?如何增加 MAMP / MAMP Pro 上的 apache fastCGI 超时?
【发布时间】:2014-09-03 02:58:00
【问题描述】:

有人知道如何增加 MAMP / MAMP Pro 上的 apache fastCGI 超时吗?我到处找,但似乎找不到。

一如既往地感谢任何帮助。

谢谢, Codarz360

【问题讨论】:

  • 有人帮忙吗?
  • 很高兴有一个解决方案。但是:你知道为什么这会导致问题吗?不应该是空闲超时只在它们空闲时杀死进程吗?为什么这会导致 500 错误?

标签: apache mamp fastcgi mamp-pro


【解决方案1】:

这很乏味,但终于让它工作了。

在 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 错误的情况下做你想做的事情。

【讨论】:

  • 对于那些遇到这个问题的人,我发现简单地用 HASH 注释掉变量 MAMP_FastCgiServer_MAMP 是不可接受的。只有 Apache 会忽略 HASH。 MAMP 仍将处理该文件并插入其覆盖,这将与您正在添加的那些冲突。我的解决方法是删除MAMP_FastCgiServer_MAMPvariable,然后添加我自己的覆盖。
  • 这很奇怪,它对我有用,通过注释掉它并跟进每个 php 版本的 fastCgiServer 声明......很高兴你把它整理好了!我用它来修复 Wordpress 及其导入器脚本的超时问题,特别是在处理媒体附件时。
  • 我通过启用 xdebug 解决了这个问题,我不确定它是否有效,但它确实完成了工作。
  • 嗨,我有同样的错误,但我为不同的站点运行了不同的 php 版本(当然是本地 MAMP Pro)。我通过添加以下行解决了 php7 本地站点的问题 FastCgiServer /Applications/MAMP/fcgi-bin/php7.0.0.fcgi -idle-timeout 3600 但是如果我为另一个版本添加类似的行:FastCgiServer /Applications/MAMP/fcgi-bin/php5.6.10.fcgi -idle-timeout 3600 我无法启动 Apache 服务器并且错误日志也是空的。我尝试让在那里定义不同版本的 php,但除了 php7 之外,其他版本都没有,但我需要 5.6.10 ..
  • 对于那些在注释掉不工作时遇到问题的人,请确保在哈希 (#) 和 MAMP_FastCgiServer_MAMP 之间有一个空格,这样应该可以正常工作。
【解决方案2】:

我找到了另一种解决方案,我认为它不那么老套。

您可以编辑 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)。

【讨论】:

  • 绝对不那么老套。这应该是正确的答案。
  • 我还没有升级,所以无法确认。
  • 我为 MAMP4 添加了一些说明,在 MAMP 4.4.1 上进行了测试和工作
  • 好,你还是要在php.ini中增加指令max_execution_time = 3600
【解决方案3】:

如果您在 MAMP Pro 中运行多个主机,请确保您已将 PHP 设置为使用“模块”选项,而不是 CGI 选项。否则,其他 CGI 更改都不会产生任何影响。在我的例子中,设置建议的 -idle-timeout 选项(上面详述)完全停止了服务器的启动。

【讨论】:

  • 将其设置为模块将充当全局设置,强制所有主机运行相同版本的 PHP。
  • 将任何 -idle-timeout 选项设置为不同的值,具体取决于 php 版本,如果您强制所有站点在相同版本的 php 上运行,显然将不起作用。 .
【解决方案4】:

另一个对我有用的解决方案是简单地添加

FcgidIOTimeout 3000
FcgidBusyTimeout 3000

在 MAMP_FastCgiServer_MAMP 的正下方到可以在 MAMP 内部管理的 Apache httpd.conf 文件。

【讨论】:

  • 这阻止了 Apache 为我启动。我正在运行 MAMP Pro v. 4.1 (5367)。
  • 只有适用于 Mamp4 for Window 的解决方案。谢谢!
  • MAMP PRO 4.5,MacOS ...通过它进入旋转(彩虹球)。强制退出。再次启动 MAMP PRO,Apache 无法启动。必须删除这两行才能让它再次工作。
  • 此解决方案适用于 MAMP PRO 5 - Windows。不过记得评论#MAMP_FastCgiServer_MAMP
猜你喜欢
  • 2017-11-01
  • 2014-10-01
  • 2015-11-08
  • 1970-01-01
  • 2019-07-13
  • 1970-01-01
  • 2014-07-13
  • 2014-07-01
  • 2020-04-17
相关资源
最近更新 更多