Ubuntu 条令:数据库:创建时出现Symfony错误

Ubuntu 条令:数据库:创建时出现Symfony错误,ubuntu,doctrine,symfony,Ubuntu,Doctrine,Symfony,我键入以下命令来同步数据库 php bin/console doctrine:database:create 但它返回了以下错误消息: PHP致命错误:未捕获Symfony\Component\Debug\Exception\ClassNotFoundException:试图从全局命名空间加载类“DOMDocument”。 你忘了“使用”语句了吗?在/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Component/

我键入以下命令来同步数据库

php bin/console doctrine:database:create
但它返回了以下错误消息:

PHP致命错误:未捕获Symfony\Component\Debug\Exception\ClassNotFoundException:试图从全局命名空间加载类“DOMDocument”。 你忘了“使用”语句了吗?在/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Component/Config/Util/XmlUtils.php中:52 堆栈跟踪: 0/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(261):symfony\Component\Config\Util\XmlUtils::loadFile('/opt/lampp/htdo…',Array) 1/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(41):symfony\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToDOM('/opt/lampp/htdo…) 2/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Bundle/FrameworkBundle/dependencyinject/FrameworkExtension.php(58):symfony\Component\dependencyinject\Loader\XmlFileLoader->load('web.xml') 第52行的3/opt/lampp/htdocs/linguavel/vendor/symfony/src/symfony/Component/dependency injection/Comp-in/opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/symfony/Component/Config/Util/XmlUtils.php

有人知道如何解决这个问题吗? 谢谢:)

编辑

我按照Benjamin的指示运行composer install,它向我返回以下信息:

> Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception


[RuntimeException]                                                  
An error occurred when executing the "'cache:clear --no-warmup'" c  
ommand:                                                             
PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\Class  
NotFoundException: Attempted to load class "DOMDocument" from the   
global namespace.                                                   
Did you forget a "use" statement? in /opt/lampp/htdocs/linguavel/v  
endor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.p  
hp:52                                                               
Stack trace:                                                        
#0 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Loader/XmlFileLoader.php(261): Symfo  
ny\Component\Config\Util\XmlUtils::loadFile('/opt/lampp/htdo...',   
Array)                                                              
#1 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Loader/XmlFileLoader.php(41): Symfon  
y\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToD  
OM('/opt/lampp/htdo...')                                            
#2 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php(  
58): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->l  
oad('web.xml')                                                      
#3 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Comp in /opt/lampp/htdocs/linguavel/  
vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.  
php on line 52                                                      
.                                                                   
新编辑:

当我键入composer update时,它会返回以下内容:

> Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception


[RuntimeException]                                                  
An error occurred when executing the "'cache:clear --no-warmup'" c  
ommand:                                                             
PHP Fatal error:  Uncaught Symfony\Component\Debug\Exception\Class  
NotFoundException: Attempted to load class "DOMDocument" from the   
global namespace.                                                   
Did you forget a "use" statement? in /opt/lampp/htdocs/linguavel/v  
endor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.p  
hp:52                                                               
Stack trace:                                                        
#0 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Loader/XmlFileLoader.php(261): Symfo  
ny\Component\Config\Util\XmlUtils::loadFile('/opt/lampp/htdo...',   
Array)                                                              
#1 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Loader/XmlFileLoader.php(41): Symfon  
y\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToD  
OM('/opt/lampp/htdo...')                                            
#2 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php(  
58): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->l  
oad('web.xml')                                                      
#3 /opt/lampp/htdocs/linguavel/vendor/symfony/symfony/src/Symfony/  
Component/DependencyInjection/Comp in /opt/lampp/htdocs/linguavel/  
vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.  
php on line 52                                                      
.                                                                   
要启用扩展名,请验证这些.ini文件中是否启用了扩展名: -/etc/php/7.0/cli/php.ini -/etc/php/7.0/cli/conf.d/10-mysqlnd.ini -/etc/php/7.0/cli/conf.d/10-opcache.ini -/etc/php/7.0/cli/conf.d/10-pdo.ini -/etc/php/7.0/cli/conf.d/15-xml.ini -/etc/php/7.0/cli/conf.d/20-calendar.ini -/etc/php/7.0/cli/conf.d/20-ctype.ini -/etc/php/7.0/cli/conf.d/20-dom.ini -/etc/php/7.0/cli/conf.d/20-exif.ini -/etc/php/7.0/cli/conf.d/20-fileinfo.ini -/etc/php/7.0/cli/conf.d/20-ftp.ini -/etc/php/7.0/cli/conf.d/20-gettext.ini -/etc/php/7.0/cli/conf.d/20-iconv.ini -/etc/php/7.0/cli/conf.d/20-json.ini -/etc/php/7.0/cli/conf.d/20-mcrypt.ini -/etc/php/7.0/cli/conf.d/20-mysqli.ini -/etc/php/7.0/cli/conf.d/20-pdo_mysql.ini -/etc/php/7.0/cli/conf.d/20-phar.ini -/etc/php/7.0/cli/conf.d/20-posix.ini -/etc/php/7.0/cli/conf.d/20-readline.ini -/etc/php/7.0/cli/conf.d/20-shmop.ini -/etc/php/7.0/cli/conf.d/20-simplexml.ini -/etc/php/7.0/cli/conf.d/20-sockets.ini -/etc/php/7.0/cli/conf.d/20-sysvmsg.ini -/etc/php/7.0/cli/conf.d/20-sysvsem.ini -/etc/php/7.0/cli/conf.d/20-sysvshm.ini -/etc/php/7.0/cli/conf.d/20-tokenizer.ini -/etc/php/7.0/cli/conf.d/20-wddx.ini -/etc/php/7.0/cli/conf.d/20-xmlreader.ini -/etc/php/7.0/cli/conf.d/20-xmlwriter.ini -/etc/php/7.0/cli/conf.d/20-xsl.ini
您还可以在终端内部运行
php--ini
,查看php在CLI模式下使用的文件。

您的计算机上没有安装php
ext/dom
扩展。在Ubuntu上,您需要运行类似于
sudo apt get install php xml
的程序

编辑

似乎
ext/dom
安装正确。请使用创建一个简单的PHP文件

<?php
namespace Test;

$d = new \DOMDocument();

顺便问一下,您是否尝试过运行:

php bin/symfony_requirements
看看你看到了什么?
您可能缺少安装要求…

我最终通过以下操作解决了问题:

$ sudo apt-get install php-curl
$ sudo apt-get install php-mbstring
$ sudo apt-get update
$ composer install
据我了解,出现这个问题是因为我有php7.0

如果您使用的是php7.0和symfony 2,请运行以下命令

$sudo apt get安装php7.0-curl php7.0-mbstring php7.0-zip php7.0-xml

在那次跑步之后

php应用程序/check.php


查看是否有任何其他缺少的要求。

是否可以运行
composer安装
并重试?通过查看
phpinfo()
的输出,检查扩展是否可用(这意味着在配置文件中激活)。我必须键入phpinfo()在终端中?否。将
放入
web
文件夹中的一个简单PHP文件中,并使用浏览器访问它。它返回版本5.6.23您需要查找
dom
,如果找不到,请检查正在使用的配置文件(在最开始处)。您好,FabulousCo。mbstring是一项要求。我发现您可以查看文件
var/SymfonyRequirements.php
(但不要编辑此文件),以查看
bin/symfony\u需求
正在做什么。我仍然强烈建议您始终运行
php bin/symfony\u requirements
来验证您的安装。此外,这将在每个版本中更新。