安装了一个免费的PHP产品,访问首页就出现了下面错误
Fatal error: Class 'XmlLib_xmlParser' not found in .../includes/cls.xml.php on line 122
Line 122的代码如下:
$n =& new $classname();
cls.xml.php的源代码为:
http://www.phpclasses.org/browse/file/4915.html
经检查,在cls.xml.php文件中有类XmlLib_xmlParser的定义和实现。
是什么导致了这个问题?php.ini设置或其他设置?linux运行环境?或者代码原因(感觉不是代码原因)?
系统环境信息:
服务器操作系统: RHEL5.2 WEB 服务器: Apache/2.4.3
PHP 版本: 5.4.9 MYSQL 版本: 5.0.45
先谢了!!
------解决方案--------------------
可能和php版本有关系,我在5.2上测试没有问题。
------解决方案--------------------
你这是 php4 下开发的代码
122 行 $n =& new $classname();
124 行 $n =& new $classname($nodeName, $nodeType);
147 行 $n =& new XmlLib_Node('#text', 3);
159 行 $n =& new XmlLib_Node('#cdata-section', 4);
171 行 $n =& new XmlLib_Node('#comment', 8);
将 =& 改为 =
修改 426 行的
function namespace() {
为
function ex_namespace() {
然后用工具遍历项目中的所有文件,将 ->namespace( 改为 ->ex_namespace(
自 php5.3 起,php恢复了对命名空间(namespace)的支持,于是 namespace 变成了保留字,不能作为函数(方法)名