PHP Warning: phpinfo() has been disabled for security reasons in ...
php.ini 中 disable_functions 指令列入 phpinfo,出於安全考慮禁止洩露伺服器環境資訊。
php.ini(位置可用 php --ini 或 phpinfo() 正常時查看 Loaded Configuration File)。disable_functions,預設類似:disable_functions = phpinfo, exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
phpinfo 從列表中移除(保留其它危險函數):disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
systemctl restart php-fpm 或 /etc/init.d/php-fpm restartsystemctl restart httpd / apachectl restartvi /usr/local/php/etc/php.ini
# 搜尋 /disable_functions
# 刪除 phpinfo,
# 存檔退出
/etc/init.d/php-fpm restart
phpinfo,上線前務必再次禁用。disable_functions,確保 exec、shell_exec 等高危函數持續被禁用。<?php
// 簡易版 phpinfo 替代品
echo '<pre>';
echo 'PHP Version: ' . PHP_VERSION . "\n";
echo 'SAPI: ' . PHP_SAPI . "\n";
echo 'Loaded ini: ' . php_ini_loaded_file() . "\n";
echo 'Extensions: ' . implode(', ', get_loaded_extensions()) . "\n";
echo '$_SERVER keys: ' . count($_SERVER) . "\n";
echo '</pre>';