我有一个debian服务器。服务器主机X vserver(例如1vserver到pound,第二个到SQL,第三个用于网站X等)。我正在研究一个虚拟服务器。我有一个网站的apache2。 在我的php.ini中,我有max_execution_time = 300和max_input_time = 249 但是当我运行脚本php时:
echo '1';
sleep(16);
echo '2';
我收到错误内部服务器错误但我在error_log中没有任何信息。 当我在14秒内设置睡眠时 - 这有效...
我的猜测是 - > debian设置执行脚本的时间为15秒并忽略php.ini中的设置。我们的根本不知道这是什么。你能救我吗?
我改变了我的剧本:
<?php
ini_set('error_reporting', E_ALL);
error_reporting(E_ALL);
ini_set('log_errors', true);
ini_set('html_errors', false);
ini_set('error_log', dirname(__FILE__).'script_error.log');
ini_set('display_errors', true);
//set_time_limit(1200);
ini_set("max_execution_time",1200);
echo '1';
sleep(16);
echo '2';
?>
我得到500错误,我在error_log中没有任何信息。如果睡觉(14)还不错。
EDIT2:
我更改了LogLevel na info,debug,notice和warn.And我没有关于errror的任何信息
EDIT3:
问题解决了。问题是服务器磅(http://linux.die.net/man/8/pound)。超时的默认值设置为15秒。感谢所有
的帮助答案 0 :(得分:2)
max_executing_time写错了。它应该是:max_execution_time。
使用phpinfo()查看运行时值是什么,如果它与ini中的值不对应,则检查(再次,从phpinfo()输出)您正在使用正确的ini文件。
Finnaly,如果phpinfo()max_execution_time对应于ini中的值,那么代码中的某些内容可能正在调用ini_set('max_execution_time' ...)
。
答案 1 :(得分:1)
这可能对您有所帮助
ini_set("max_execution_time",1200);
答案 2 :(得分:1)
指令是max_execution_time而不是max_executing_time尝试更改此
答案 3 :(得分:0)
尝试设置E_ALL报告级别。只是把
error_reporting(E_ALL);
在PHP代码的开头某处 它可能会为您提供更多信息。
答案 4 :(得分:0)
添加
set_time_limit(0);
在您的脚本顶部,我希望它适合您