如何解决工匠问题? php artisan optimize抛出一个[ReflectionException]

时间:2017-10-11 21:49:30

标签: laravel-5 artisan

首先,这是git bash中的实际错误:

php artisan optimize

[ReflectionException]
Class hash does not exist

我的工匠命令都没有真正起作用。今天早些时候,它是。由于我使用git,我试图在代码中找到我可以改变的错误。没有成功。

我使用Laravel 5.4.36
php -vPHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1
vagrant -vVagrant 2.0.0
Homestead版本是6.2.2 Homestead安装在Windows 10上。

我试图解决问题的步骤列表 1。composer dump-autoload - >在php artisan optimize时失败 2。composer update - >在php artisan optimize时失败 3.检查config \ app.php中是否存在哈希

'providers' => [

    /*
     * Laravel Framework Service Providers...
     */
    ....
    Illuminate\Hashing\HashServiceProvider::class,
    ....

'aliases' => [
    ....
    'Hash' => Illuminate\Support\Facades\Hash::class,
    ....

3.1我看看这个文件是否存在:Illuminate\Support\Facades\Hash它存在。
3.2我看看这个文件是否存在:Illuminate\Hashing\BcryptHasher它存在。
我跑了sudo chgrp -R www-data storage bootstrap/cachesudo chmod -R ug+rwx storage bootstrap/cache 我不认为步骤(4)确实做了一些有助于解决这个问题的事情...... 5.再次尝试composer dump-autoload ...... php artisan optimize时仍然失败 6.我删除了供应商文档,然后在composer install发送php artisan optimize FAILED 7.我试图在我的Windows上位于localy的文件中运行php artisan optimize,并将文件运行到虚拟机中。我知道这两个文件都已链接,但我想查看其中一台机器是否有问题。

所以,现在我无法使用php artisan <command>而且我不知道该怎么做/尝试。能帮我解决这个问题!会很感激!

1 个答案:

答案 0 :(得分:0)

似乎PHP正在尝试注入一个类hash,但无法解决它。但是,请注意该错误以小写形式描述了类名。正如你自己指出的那样,你可能需要Laravel着名的Hash门面。

由于PHP命名空间区分大小写,因此我建议您检查Git提交的最新添加/修改,引用非大写版本的外观。