這個問題迫使我堅果,因爲在php.ini和htaccess中的max_execution_time和報告從PHP是肯定高於報告中的警告消息。PHP max_execution_time忽略(沒有安全模式,沒有共享主機,只是本地主機/ windows7/php 5.3.1和Apache超時是300)
<?php
echo "Max execution time: ".ini_get("max_execution_time")."<br />";
while(true)
{
sleep(1);
}
?>
輸出:
最大執行時間:240
致命錯誤:用C超過60秒的最大執行時間:\ XAMPP \ htdocs中\爲timetest.php第5行
答案
是的,它似乎是一個bug: max_input_time覆蓋max_execution_時間!
htaccess的:
php_value max_execution_time 240
php_value max_input_time 111
爲timetest.php:
<?php
echo "Max execution time: ".ini_get("max_execution_time")."<br />";
echo "Max input time: ".ini_get("max_input_time")."<br />";
while(true)
{
sleep(1);
}
?>
輸出(證明):
最大執行時間:240
最大輸入時間:111
致命錯誤:在第6行的C:\ xampp \ htdocs \ timetest.php中超出了111秒的最大執行時間。
感謝您的幫助!
有關您的問題的一個問題。我曾經認爲,顯示瀏覽器的最大執行時間是由瀏覽器設置的,並且它可以不同於php.ini中的值!我覺得錯了嗎? – Simon 2010-03-24 10:11:49
@Syom - max_execution_time不是由瀏覽器設置的,它是php.ini的值。瀏覽器有自己的超時時間(以阻止惡意腳本),但在這種情況下它們是無關緊要的。 php.ini的值可以在瀏覽器和命令行中有所不同,因爲apache使用與命令行模式不同的php.ini。 – pinaki 2010-03-24 10:16:01
@pinaki所以如果我看到消息「超過60秒的最大執行時間」,那意味着在apache的php.ini中設置了60秒? – Simon 2010-03-24 10:20:19