安装西伯利亚CMS zend时出现致命错误


Fatal error when installing Siberian CMS zend

我尝试安装一个名为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支持多种类型),但这不太可能是直接的,而且可能根本不可能。