未找到Laravel 5.1 PHP DOMDocument()类
我正在使用PHP的内置DOMDocument()类来执行一些简单的web抓取。 但是,它可以在我的4.2站点上运行,但不能在我的5.1站点上运行(两者都在相同的PHP安装上) 以下是错误: 找不到类“App\Http\Controllers\III\u Ranks\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
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)代码>