我想在我的服务器上安装一个基于 php 的 webapp,但在安装过程中我收到“500 内部错误”。通过网络搜索,我发现发生这种情况是因为我的服务器设置对 PHP 使用 FastCGI。发生错误是因为脚本超时时间太短,也可能是 php 可用内存量的问题。所以我的问题是:
如何使用 FastCGI 增加 php 的超时时间以及其他资源。可以/etc/apache2/mods-available/fcgid.conf
去那里吗?
此外,在应用程序中.htaccess
我可以找到这几行,但取消注释后会出现 »404 Not Found:«/cgi-bin/php5-cgi/index.php
# Action php5-cgi /cgi-bin/php5-cgi
# AddHandler php5-cgi .php
提前致谢!
更新
检查后/var/log/apache2/error.log
我发现:
[Fri Nov 22 12:51:07 2013] [notice] mod_fcgid: call /home/xxxx/public_html/index.php with wrapper /home/xxxx/fcgi-bin/php5.fcgi
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cgi/conf.d/mcrypt.ini on line 1 in Unknown on line 0
[Fri Nov 22 12:51:49 2013] [warn] mod_fcgid: process 377 graceful kill fail, sending SIGKILL
[Fri Nov 22 12:51:55 2013] [notice] mod_fcgid: process /home/xxxx/public_html/info.php(377) exit(communication error), get stop signal 9
那意味着什么?
答案1
这些参数在 php.ini 中配置,通常位于
/etc/php5/php.ini
但也可能更具体,例如:
/etc/php5/apache2/php.ini
或者可能
/etc/php5/fastsgi/php.ini
为了绝对准确,您可以创建一个“phpinfo 文件”,它将向您显示实际使用的配置文件的路径:
在您的服务器上创建一个 info.php 文件并从浏览器访问它
<?php
phpinfo();
?>
第一行应该会显示所使用的文件。
您正在寻找的两个参数是:
- 最大执行时间 = 30#30秒
- 内存限制 = 64M #64 莫
您可能必须重新启动 Apache 才能将新参数考虑进去(对于 FastCGI 我不确定)。
请注意,您可以刷新 phpinfo 页面来检查新配置是否被考虑在内
不要忘记删除 phpinfo 文件。