我尝试安装一个名为Siberian CMS的CMS系统。我已经尝试安装了很多次,但我一次又一次地得到这个错误。
Fatal error: Uncaught exception 'Zend_Config_Exception' with message 'parse_ini_file() has been disabled for security reasons' in /home/korsbjer/public_html/ww15/lib/Zend/Config/Ini.php:182 Stack trace: #0 /home/korsbjer/public_html/ww15/lib/Zend/Config/Ini.php(202): Zend_Config_Ini->_parseIniFile('/home/korsbjer/...') #1 /home/korsbjer/public_html/ww15/lib/Zend/Config/Ini.php(126): Zend_Config_Ini->_loadIniFile('/home/korsbjer/...') #2 /home/korsbjer/public_html/ww15/lib/Zend/Application.php(386): Zend_Config_Ini->__construct('/home/korsbjer/...', 'production') #3 /home/korsbjer/public_html/ww15/lib/Zend/Application.php(85): Zend_Application->_loadConfig('/home/korsbjer/...') #4 /home/korsbjer/public_html/ww15/index.php(37): Zend_Application->__construct('production', '/home/korsbjer/...') #5 {main} thrown in /home/korsbjer/public_html/ww15/lib/Zend/Config/Ini.php on line 182
Tim是对的,parse_ini_file()
功能在你的服务器上是禁用的,所以Zend不能解析app.ini文件,并启动西伯利亚。
如果您有root SSH访问权限,您可以编辑php.ini并从disable_functions
列表中删除parse_ini_file
。
您可以通过执行以下命令找到正确的php.ini路径:
php --ini
有趣的一行是:
Loaded Configuration File: /path/to/php.ini
您也可以使用phpinfo()
找到正确的路径。但由于parse_ini_file()
被禁用,我对phpinfo()
不抱太大希望,它可能也是。
完成后,不要忘记重启Apache或PHP- fpm(这可能是必需的,取决于您如何使用PHP)。
Zend Framework 1使用ini文件进行配置,就像您试图安装的CMS一样。PHP可以使用一个名为parse_ini_file()
的函数本地读取ini文件。此功能已在您的服务器上显式禁用。您需要联系您的主机,看看他们是否会为您启用此功能(我不会让您抱太大希望)。如果没有,您可能有很小的机会可以配置CMS以使用不同类型的配置文件(ZF支持多种类型),但这不太可能是直接的,而且可能根本不可能。