Php 致命错误:Zend Server CE更新后未找到DOMDocument

Php 致命错误:Zend Server CE更新后未找到DOMDocument,php,windows-7,zend-framework2,domdocument,zend-server-ce,Php,Windows 7,Zend Framework2,Domdocument,Zend Server Ce,我正在Windows 7(64位)系统上使用Zend Server CE 我正在用Zend Framework 2.0开发一个网站。在这个网站上,我使用DOMDocument来分析一个外部网站(由URL给出) 我使用Zend Framework 1.12和Zend Server CE 4(PHP5.2)启动了这个项目。现在我安装了Zend Server CE 5.6.0(apache2.2、PHP5.3.14、ZF2支持)。我用ZF2.0重建我的项目。除了一个功能外,一切都正常 当我尝试实例化D

我正在Windows 7(64位)系统上使用Zend Server CE

我正在用Zend Framework 2.0开发一个网站。在这个网站上,我使用DOMDocument来分析一个外部网站(由URL给出)

我使用Zend Framework 1.12和Zend Server CE 4(PHP5.2)启动了这个项目。现在我安装了Zend Server CE 5.6.0(apache2.2、PHP5.3.14、ZF2支持)。我用ZF2.0重建我的项目。除了一个功能外,一切都正常

当我尝试实例化DOMDocument时,我收到了以下错误消息(php Error.log):

Fatal error: Class 'Application\Controller\DOMDocument' not found in
_Path_\module\Application\src\Application\Controller\SearchbarController.php on line 81
在PHP5.2(ZF1.12)和Zend服务器CE4中,此功能工作得非常好。但是现在…没有任何改变,它抛出了这个错误

dom扩展和xml扩展是PHP5.3中内置的。我检查了phpinfo和我的php.ini,确认这些扩展正在运行

我读到,我应该安装php xml。但是dom、xml和libxml正在运行…为什么我要重新安装它们


我不知道,为什么升级Zend Server CE后无法实例化DOMDocument。可能是,ZF2.0是导致此错误的可能原因。但我找不到任何指向这一点的东西。

简而言之,是名称空间(PHP5.3的特性被ZF2大量使用,而不是ZF1.x)的引入导致了这个错误。用这句话

$dom = new DOMDocument(...)
。。。ZF仅检查当前导入的命名空间是否存在此类。它会导致失败,因为
DOMDocument
类实际上属于全局名称空间

当您看到原因时,解决方案很简单:在类名前面使用
全局名称空间说明符
-
\
符号。像这样:

$dom = new \DOMDocument(...)

如果您用
$dom=new\DOMDocument(…)
来实例化对象,它会被修复吗?是的!这解决了我的问题……但为什么?谢谢!!!