Symfony app_dev.php install\DOMDomain错误

use*_*360 7 javascript php symfony

我在VMware播放器下的CentOS下的localhost上安装了Symfony.(Windows 7,32位)我的PHP版本是5.3.3.CentOS是6.5.VMware播放器是6.0.1.

当我尝试连接时, localhost/Symfony/web/app_dev.php我收到以下错误

ClassNotFoundException:尝试从/var/www/html/Symfony/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php第47行的全局命名空间加载类"DOMDocument".

你忘了这堂课的使用陈述了吗?

第47行是

$dom = new \DOMDocument();
Run Code Online (Sandbox Code Playgroud)

当我grep"DOMDocument"时,我得到102次点击.

大多数点击显示

$dom = new \DOMDocument();
Run Code Online (Sandbox Code Playgroud)

要么

$dom = new DOMDocument(); 
Run Code Online (Sandbox Code Playgroud)

我以前在外部服务器上按照相同的脚本安装了Symfony,并且能够app_dev.php毫无问题地运行.(FreeBSD的)

new \DOMDocument(); 和之间有什么区别new DOMDocument();.我是JavaScript和PHP的新手.有谁知道我应该怎么做才能纠正这个问题?或者有关如何解决问题的一些线索?

ber*_*and 11

在CentOS 6.5上运行yum install php-xml解决了我的问题.


Ped*_*iro 3

new \DomDocument()当您从另一个命名空间内部加载全局命名空间中的类时,需要使用反斜杠 ( )。换句话说,如果您namespace <something>在文件顶部使用,则必须使用从全局命名空间new \DomDocument()加载。DomDocument如果你在全局命名空间(默认的,如果你没有显式声明命名空间),就可以new DomDocument()直接使用。

如果您在使用或不使用反斜杠时都遇到错误,那是因为您缺少 PHP 扩展:php-xml。只需添加extension=dom.so到您的 php.ini 即可。该扩展默认与 PHP 捆绑在一起。

运行 web/config.php 以检查缺少的内容。