【发布时间】:2020-07-01 18:03:28
【问题描述】:
我正在尝试在托管 symfony 项目的服务器上从 php 5 升级到 7。 实际上从 php 5 到 7 的更新有效;
php --version
PHP 7.2.29 (cli) (built: Mar 17 2020 11:58:47) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.29, Copyright (c) 1999-2018, by Zend Technologies
但现在在我的服务器上只有“公共”页面有效,我的意思是当我访问需要 ORM 的页面时,它会返回 500 内部错误。 日志服务器文件给了我这个输出:
[2020-03-20 14:38:49] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Validator\Exception\MappingException: "Extension DOM is required." at /var/www/myProject/vendor/symfony/symfony/src/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php line 179 {"exception":"[object] (Symfony\\Component\\Validator\\Exception\\MappingException(code: 0): Extension DOM is required. at /var/www/myProject/vendor/symfony/symfony/src/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php:179, RuntimeException(code: 0): Extension DOM is required. at /var/www/myProject/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php:45)"} []
[2020-03-20 14:38:50] security.INFO: No expression found; abstaining from voting. [] []
[2020-03-20 14:38:50] security.INFO: No expression found; abstaining from voting. [] []
所以我用谷歌搜索了错误,因此我做到了:
sudo yum install php72-php-mbstring php72-php-xml php72-php-xmlrpc
然后:
php -d memory_limit=-1 composer.phar update --no-cache
php -d memory_limit=-1 app/console cache:clear --env=prod
sudo systemctl restart httpd.service
我仍然收到此错误...
编辑: cli 版本是 PHP 7.2.29,它使用 /etc/opt/remi/php72/php.ini 文件,服务器 PHP(由 phpinfo(); 函数显示)显示 PHP 版本 7.2.28,它使用 /etc/php.ini文件。我想我必须使用一些 apache 配置进行调查。
【问题讨论】:
-
sudo apt-get install php7.2-xml? -
但是 PHP 7 上的 Symfony 2.8 呢?我认为您应该升级到 Symfony 4 或 5,并在必要时将您的代码更改为新的 Symfony 版本。
标签: php apache symfony centos7