PHP 代码可在命令行运行但无法调试

PHP code works command line but cannot debug

我正在使用 PHP 客户端代码,其中包含 Symfony dom-crawler(通过 composer 添加)。当从命令行 运行 时效果很好;但是,在调试时它会崩溃并出现以下错误:

PHP Fatal error:  Uncaught Error: Class 'DOMDocument' not found in /home/jeff/newproject/vendor/symfony/dom-crawler/Crawler.php:189

我在 Ubuntu 上使用 PHP 7.1、Eclipse、Xdebug。我也遇到了与另一个依赖项相同的问题,所以我怀疑它与 Eclipse/Xdebug 相关。

知道从哪里开始寻找吗?

更新:我确保 php-xml 是最新版本:

$ sudo apt-get install php7.1-xml
Reading package lists... Done
Building dependency tree       
Reading state information... Done
php7.1-xml is already the newest version (7.1.13-1+ubuntu16.04.1+deb.sury.org+1).
0 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.

在 Linux(和 OSX)上确保您在 eclipse php 配置上检查了 "Use system default php.ini configuration"。没有这个来自 /etc/php-version/conf.d/*.ini 的文件将不会被加载,因此 XML 也将不可用。