在測試伺服器環境時,經常會遇到 PHP Warning: phpinfo() has been disabled for security reasons 這個警告訊息。這是因為出於安全考量,伺服器管理員在 PHP 配置中禁用了 phpinfo() 函數。本文將詳細說明如何解決這個問題。
當您執行包含 phpinfo() 的腳本時,PHP 會拋出警告:PHP Warning: phpinfo() has been disabled for security reasons in XX.php on line XX。這表示 disable_functions 配置指令中包含了 phpinfo,導致該函數無法調用。
如果您擁有伺服器管理權限,可以通過修改 php.ini 文件來重新啟用該函數:
php.ini 文件disable_functions 指令phpinfo(以及其他您需要的函數如 exec、popen、system 等)# 編輯 PHP 配置文件
vi /usr/local/php/etc/php.ini
# 在 vi 中輸入 /disable_functions 進入搜索模式快速定位
# 找到該行後,刪除 phpinfo 等不需要禁用的函數名
# 重啟 PHP-FPM 服務
/etc/init.d/php-fpm restart
安全提醒:phpinfo() 會洩露伺服器詳細配置信息,生產環境中建議保持禁用狀態。僅在開發調試階段暫時啟用,調試完成後應立即恢復禁用。
如果您使用的是虛擬主機或無服務器管理權限,請聯繫主機服務商協助處理,或考慮使用替代方案(如編寫簡單的 PHP 信息檢測腳本)。