我按照本文http://phpartisan.tumblr.com/post/71580870739/running-laravel-4-on-heroku
在Heroku中部署了我的Laravel 4.1应用程序静态HTML主页加载好但是当我尝试登录时,我收到错误
SQLSTATE[HY000] [2002] No such file or directory
我的本地设置是Laravel 4.1&的MySQL。
我不认为部署时会创建一个数据库。
我需要手动完成吗?那么我的设置将如何以及将会是什么?
谢谢!
答案 0 :(得分:0)
问题可能是您的环境可能仍然指向本地。在cli中,键入heroku run php artisan env
以查找。
否则,您可能希望运行php artisan migrate --env=production
将其设置为正确的生产环境。
您可能会遇到另一个问题:
PHP致命错误:在第1154行的/var/www/mysite/vendor/symfony/console/Symfony/Component/Console/Application.php中调用未定义的函数Symfony \ Component \ Console \ mb_convert_variables()
相信我,tt与mb_string模块无关,就像这篇帖子所说的那样。 Laravel: Call to undefined function Symfony\Component\Console\mb_convert_variables()?
问题出在环境设定上。
首先,确保你使用composer.json在相同目录级别拥有.env.php文件,它存在于你的heroku实例中。既然你不能在里面FTP,你需要推送回购。但是laravel告诉你这是git被忽略了,所以你需要暂时允许它推送到你的heroku repo。
接下来,您需要编辑bootstrap \ start.php
将$ env = $ app-> detectEnvironment(function(){})替换为:
$env = $app->detectEnvironment(function() {
return file_exists(dirname(__FILE__) . '/../.env.php')
?
'production'
:
'local';
});
完成所有这些操作后,请重新运行migrate命令,它将起作用。
您可以点击此链接以供参考。 Laravel environment config not loading, migration fails - SQLSTATE[HY000] [2002] No such file or directory