2015-12-16 109 views
2

PHP人员迁移Laravel不能读取数据库凭证形式.ENV文件

[PDOException]
SQLSTATE [28000] [1045]访问被拒绝的用户伪造“@ '本地主机'(使用密码:否)

.ENV文件

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=JYi8UKIIoaXlU9vrkNkrpu0Y7VpkaA3X 

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=root 
DB_PASSWORD=homestead 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

余did't使database.php中

'driver' => 'mysql', 
    'host'  => env('DB_HOST', 'localhost'), 
    'database' => env('DB_DATABASE', 'forge'), 
    'username' => env('DB_USERNAME', 'forge'), 
    'password' => env('DB_PASSWORD', ''), 
    'charset' => 'utf8', 
    'collation' => 'utf8_unicode_ci', 
    'prefix' => '', 
    'strict' => false, 
任何变化

当我运行︰php artisan env

它显示本地如果我改变env生产它显示生产。 我不明白为什么mysql不起作用。

另外在前端显示:

哎呦,看起来像出事了。

Laravel错误页面显示如生产环境。 在Apache错误日志中没有任何错误。

我被这个问题困住了。 我更改文件权限清除laravel缓存。我无法使它工作。我使用流浪汉。新的laravel安装工作正常。 请帮帮我。

+1

你真的在使用'Homestad'吗?您在此显示的是您需要使用自己的数据库凭据更改的Laravel默认配置。 – Franco

+0

感谢您的回复。我正在使用ubuntu/trusty64和apache服务器。数据库名称homestad – sohel4r

+1

但您正在使用'.env'文件中的默认凭据。您需要使用数据库连接凭证更改这些值。至少如果你展示的是你真正的证书,我不这么认为。 – Franco

回答

4

您可能已缓存配置。尝试在生产时运行artisan config:clearartisan config:cache

artisan config:clear将删除您可能拥有的任何缓存,并开始使用.env代替。这在生产服务器上显然是非最佳的,并且是config:cache命令的原因。

+1

非常感谢。其作品。首先我清楚只有缓存没有清除配置:) – sohel4r

+0

是的,这是我的头在足够的时间终于卡住了。 – dino

+0

谢谢,'config:clear'为我节省了零星的不可用配置值。 –