Symfony 3原则2-模式更新导致未定义功能异常simplexml\u加载\u文件

Symfony 3原则2-模式更新导致未定义功能异常simplexml\u加载\u文件,symfony,doctrine-orm,xampp,Symfony,Doctrine Orm,Xampp,我目前正在使用Git和XAMPP for Linux(XAMPP-Linux-x64-7.0.9-1)开发一个Api平台(Symfony 3.1,条令2.5)。鼓励我们在每次有人更改实体时更新数据库。然而,当我尝试这样做时,我得到了这个信息 $ bin/console doctrine:schema:update --force PHP Warning: Module 'PDO' already loaded in Unknown on line 0 [Symfony\Componen

我目前正在使用Git和XAMPP for Linux(XAMPP-Linux-x64-7.0.9-1)开发一个Api平台(Symfony 3.1,条令2.5)。鼓励我们在每次有人更改实体时更新数据库。然而,当我尝试这样做时,我得到了这个信息

$ bin/console doctrine:schema:update --force
PHP Warning:  Module 'PDO' already loaded in Unknown on line 0


  [Symfony\Component\Debug\Exception\UndefinedFunctionException]                                  
  Attempted to call function "simplexml_load_file" from namespace "Doctrine\ORM\Mapping\Driver".
堆栈跟踪为

 () at /opt/lampp/htdocs/api/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php:814
 Doctrine\ORM\Mapping\Driver\XmlDriver->loadMappingFile() at /opt/lampp/htdocs/api/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php:115
 Doctrine\Common\Persistence\Mapping\Driver\FileDriver->getElement() at /opt/lampp/htdocs/api/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php:58
 Doctrine\ORM\Mapping\Driver\XmlDriver->loadMetadataForClass() at /opt/lampp/htdocs/api/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php:102
 Doctrine\Common\Persistence\Mapping\Driver\MappingDriverChain->loadMetadataForClass() at /opt/lampp/htdocs/api/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:151
 Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata() at /opt/lampp/htdocs/api/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:332
 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata() at /opt/lampp/htdocs/api/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php:78
 Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata() at /opt/lampp/htdocs/api/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:216
 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() at /opt/lampp/htdocs/api/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php:115
 Doctrine\Common\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata() at /opt/lampp/htdocs/api/vendor/doctrine/orm/lib/Doctrine/ORM/Tools/Console/Command/SchemaTool/AbstractCommand.php:59
 Doctrine\ORM\Tools\Console\Command\SchemaTool\AbstractCommand->execute() at /opt/lampp/htdocs/api/vendor/doctrine/doctrine-bundle/Command/Proxy/UpdateSchemaDoctrineCommand.php:50
 Doctrine\Bundle\DoctrineBundle\Command\Proxy\UpdateSchemaDoctrineCommand->execute() at /opt/lampp/htdocs/api/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:261
 Symfony\Component\Console\Command\Command->run() at /opt/lampp/htdocs/api/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:839
 Symfony\Component\Console\Application->doRunCommand() at /opt/lampp/htdocs/api/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:185
 Symfony\Component\Console\Application->doRun() at /opt/lampp/htdocs/api/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:80
 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /opt/lampp/htdocs/api/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:116
 Symfony\Component\Console\Application->run() at /opt/lampp/htdocs/api/bin/console:29
我发现了一个问题,这表明可能没有安装simplexml。然而,当我运行phpinfo时,它显示了

$ php -i | grep -i simplexml
SimpleXML
Simplexml support => enabled
由于问题似乎存在于条令依赖关系中,我删除了供应商/文件夹,并使用composer再次安装了它们。遗憾的是,一切都没有改变。作为最后一次尝试,我使用
--dump sql
选项运行了更新,得到了相同的结果

有人有过这个问题吗?我猜这是与Linux相关的,因为团队的其他成员都使用Windows,从来没有出现过这个问题

编辑:正如评论中所建议的,我检查了php.ini中的“extension=pdo.so”行的副本,它只出现一次。文件的那部分是

[Pdo]
; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
; http://php.net/pdo-odbc.connection-pooling
;pdo_odbc.connection_pooling=strict
;pdo_odbc.db2_instance_name
extension=pdo.so

如果我对最后一行进行注释,警告将消失,但问题仍然存在。

php.ini的可能副本没有pdo扩展的副本。我已经更新了问题php.ini的可能副本没有pdo扩展的副本。我已经更新了这个问题