未找到Laravel 5.1 PHP DOMDocument()类

未找到Laravel 5.1 PHP DOMDocument()类,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在使用PHP的内置DOMDocument()类来执行一些简单的web抓取。 但是,它可以在我的4.2站点上运行,但不能在我的5.1站点上运行(两者都在相同的PHP安装上) 以下是错误: 找不到类“App\Http\Controllers\III\u Ranks\DOMDocument” 这是我的控制器: <?php namespace App\Http\Controllers\III_Ranks; use App\Http\Controllers\Controller; use

我正在使用PHP的内置DOMDocument()类来执行一些简单的web抓取。 但是,它可以在我的4.2站点上运行,但不能在我的5.1站点上运行(两者都在相同的PHP安装上)

以下是错误:

找不到类“App\Http\Controllers\III\u Ranks\DOMDocument”

这是我的控制器:

<?php

namespace App\Http\Controllers\III_Ranks;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Illuminate\Http\Response;

class RanksController extends Controller 
{
    public function getRanks()
    {
        $list1 = new DOMDocument();
        //etc...
    }
}

在Laravel 5.1中,必须使用全局命名空间前缀“\”作为类名的前缀

因此,您的更新代码:

<?php

namespace App\Http\Controllers\III_Ranks;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Illuminate\Http\Response;

class RanksController extends Controller 
{
    public function getRanks()
    {
        $list1 = new \DOMDocument();
        //etc...
    }
}

对于我,为了解决错误:
DOMDocument()类未找到
。我必须安装这个软件

如果您使用的是PHP5:

您可以使用以下方法在Debian/Ubuntu上执行此操作:

sudo apt-get install php5-dom
在Centos/软呢帽/红帽上:

yum install php-xml
yum install php70w-xml
如果您使用的是PHP7:

对于Ubuntu:

apt-get install php7.0-xml
CentOS/软呢帽/红帽:

yum install php-xml
yum install php70w-xml

在Laravel 5.4中测试

您可以使用关键字
使用

在定义类之前,可以在文件顶部编写
usedomdocument而不是
new\DOMDocument()

例如:

<?php

namespace App\Http\Controllers\III_Ranks;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;
use Illuminate\Http\Response;

use DOMDocument;

class RanksController extends Controller {
...

我在带有ubuntu16.04的服务器上的laravel5.6中遇到了这个问题,我解决了这个问题,为
php7.1
版本安装了xml软件包,这在
php7.2
版本中不适用,我不知道为什么

1.-确保安装了php的7.1版,我使用此命令在ubuntu中选择正确的php版本:

update-alternatives --set php /usr/bin/php7.1
注意:如果您尚未安装
php7.1
版本,是否需要在执行上述命令之前安装它,在这种情况下,您可以使用以下命令:
apt get install php7.1

2.-要安装软件包XML,我使用了以下命令:

apt-get install php7.1-xml
3.-使用以下命令重新启动apache服务器:

service apache2 restart

我希望能有所帮助,这挽救了我的一天。

我对使用laravel框架的Amazon Linux 2(LAMP)也有同样的问题

请找到以下解决问题的步骤:

 sudo systemctl stop httpd 
 sudo yum install  php-xml
 sudo systemctl start httpd

对于Laravel 5.6使用:apt get install php7.1-xmlIt适合我。我还需要在
DOMXpath
前面使用斜杠,比如
$xpath=new\DOMXpath($list1)