[英]Internal Server Error (500) and PHP max_execution_time on Linux server
我有一個PHP腳本,需要處理1到5個小時(將新聞通訊發送給我們的客戶)。 我都嘗試了set_time_limit(2000);
和ini_set('max_execution_time', 360000);
但都行不通。 它們可以在XAMPP本地服務器上完美運行,但是不能在我們的專用服務器(Unix和Apache)上運行。 我也將Apache超時更改為300(原來是50),但是在腳本運行30秒后,它返回以下內容:
內部服務器錯誤頁面(錯誤500)
我不知道是否還有其他超時時間和/或為什么服務器不支持ini_set()
或set_time_limit()
函數。 我們正在使用Unix CentOS 6和Plesk 11.9作為服務器。 我還更改了默認的php.ini max_execution_time
,它可以工作...
我閱讀了許多文章和論壇,但我不知道為什么會這樣。 我感謝您的幫助。
//在您的php文件標題或配置中添加
ini_set('max_execution_time','256'); //max_execution_time','0' <- unlimited time
ini_set('memory_limit','512M');
干得好!
更好的方法是在將新聞稿發送給客戶的腳本頂部使用ini_set()
或set_time_limit()
...您不應該嘗試維護主要的配置文件...而且正如上面的建議,cron作業是非常適合這種情況。
感謝您的回答和評論。 我設置了cron作業,並且效果很好。 我還嘗試了“大塊”(每個大塊150封電子郵件)的方法,這種方法也可行。
如果您使用Vps:編輯您的php.ini文件:
max_execution_time = 256
memory_limit = 512M
然后,運行命令行以重新啟動apache
service httpd restart
或頭文件
ini_set('max_execution_time','256');
ini_set('memory_limit','512M');
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.