我有一个Laravel 4的应用程序,它在localhost中正确运行, 但当我把它上传到我的主机时,我收到了错误。
app> config> database.php文件是:
'mysql' => array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => 'forum',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
并且bootstrap> start.php是:
$env = $app->detectEnvironment(array(
'local' => array('homestead'),
));
答案 0 :(得分:4)
这对我有用:
php artisan config:clear
即使我更改了config
文件中的.env
详细信息,我也收到了拒绝访问权限错误。运行上述命令将清除配置缓存文件,因此laravel将从.env
文件中读取新数据。
答案 1 :(得分:3)
您必须找到数据库主机,数据库名称,数据库用户名和数据库密码的凭据。 (如果表的任何前缀也是如此),然后用当前凭证替换它。
在ENV变量中使用环境和存储值的概念:
您可以在class DbBackend(EmailBackend):
def send_messages(self, email_messages):
if not email_messages:
return
for message in email_messages:
msg = Message()
msg.email = message
msg.save()
super(DbBackend, self).send_messages(email_messages)
中将Env变量存储为数组,并将这些变量作为.{ENV_NAME}.env.php
访问。
答案 2 :(得分:2)
检查你的mysql数据库运行是否完美。然后在没有密码的mysql中检查db user root
并重新启动服务器。
答案 3 :(得分:2)
也许您应该在env中为密码添加双引号:
# Config: database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD="db_password"
和
php artisan config:clear