首先,这是git bash中的实际错误:
php artisan optimize
[ReflectionException]
Class hash does not exist
我的工匠命令都没有真正起作用。今天早些时候,它是。由于我使用git,我试图在代码中找到我可以改变的错误。没有成功。
我使用Laravel 5.4.36
php -v
:PHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1
vagrant -v
:Vagrant 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/cache
和sudo 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>
而且我不知道该怎么做/尝试。能帮我解决这个问题!会很感激!
答案 0 :(得分:0)
似乎PHP正在尝试注入一个类hash
,但无法解决它。但是,请注意该错误以小写形式描述了类名。正如你自己指出的那样,你可能需要Laravel着名的Hash
门面。
由于PHP命名空间区分大小写,因此我建议您检查Git提交的最新添加/修改,引用非大写版本的外观。