2017-10-11 85 views
0

首先,这是混帐bash中实际的错误:如何修理工匠? PHP的工匠优化抛出一个[ReflectionException]

php artisan optimize 

[ReflectionException] 
Class hash does not exist 

我的工匠命令都不是实际工作。今天早些时候,它是。由于我使用git,我试图在代码中找到更改可能是错误的代码。没有成功。

我使用Laravel 36年5月4日
php -vPHP 7.1.9-1+ubuntu16.04.1+deb.sury.org+1
vagrant -vVagrant 2.0.0
宅基地版本6.2.2 宅基地被安装在Windows 10

还有就是我试图一步名单解决问题。
1. composer dump-autoload - >在php artisan optimize
2. composer update失败 - >在php artisan optimize
3.检查失败如果散列存在于配置\ 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它存在。
4.我运行了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 installphp artisan optimize处出现故障
7.我试图在位于我窗口的localy文件中运行php artisan optimize,并且还将文件导入到虚拟机中。我知道这两个文件都是链接的,但我想看看这台机器是否有问题。

所以,现在我不能使用php artisan <command>,我不知道该怎么做/尝试。你能帮我解决这个问题吗?这将是感激!

回答

0

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

由于PHP命名空间是区分大小写的,我建议你检查一下你的Git提交最近添加/修改引用未加数据的正面版本。