今天在調試網站時,由于客戶使用的是某個服務器的虛擬主機,一直在報錯 set_time_limit() has been disabled for security reasons ,雖然問題很好解決,但防止以后有別人用戶遇到,就寫一下這個錯誤的解決方法吧。

錯誤提示及原因

錯誤提示:

set_time_limit() has been disabled for security reasons

中文意思:

出于安全原因,已禁用set_time_limit()

錯誤原因:

php 禁用了 set_time_limit() 函數,所以會報錯。

set_time_limit() 禁用的可能原因:

国产视频app關于 php 中 set_time_limit() 函數的禁用問題,是存在很多的爭議的。其中堅持禁用此函數的人認為:php 的 set_time_limit() 函數在開啟后,如果被黑客入侵,放入一些不安全的代碼或做一些 ee-vil 操作,并在此后規定的多長時間后運行,會對服務器的安全造成威脅。

解決方法1:

国产视频app1、打開 php 的配置文件 php.ini , 并搜索“disable_functions”

找開如下代碼:

disable_functions = symlink,popepassthru,set_time_limit

PS:注意,你找到的代碼,不一定和我的相同,但“disable_functions = ”后面,肯定會帶有 set_time_limit

国产视频app2、修改 php.ini disable_functions 后面的參數,去掉 set_time_limit 即可

disable_functions = symlink,popepassthru

3、重啟 php 即可

解決方法2:

国产视频app使用 error_reporting() 函數,設置PHP的報錯級別

代碼如下:

@error_reporting (E_ALL & ~E_NOTICE & ~E_WARNING);