我按照这篇文章在Heroku中部署了我的Laravel 4.1应用程序http://phpartisan.tumblr.com/post/71580870739/running-laravel-4-on-heroku
静态HTML主页加载良好,但当我试图登录时,我收到错误
SQLSTATE[HY000] [2002] No such file or directory
我的本地设置是Laravel 4.1&MySQL。
我认为在部署时没有创建数据库。
我需要手动操作吗?然后我的设置是什么?
谢谢!
问题可能是您的环境可能仍然指向本地。在cli中,键入heroku run php artisan env
进行查找。
否则,您可能需要运行php artisan migrate --env=production
以将其设置为正确的生产环境。
然后你可能会遇到另一个类似的问题:
PHP致命错误:在第1154行调用/var/www/mysite/vvendor/Symfony/Console/Symfony/Component/Console/Application.PHP中未定义的函数Symfony''Component''Console''mb_convert_variables()
相信我,tt和本文所说的mb_string模块无关。Laravel:调用未定义的函数Symfony''Component''Consoles''mb_convert_variables()?
问题出在环境方面。
首先,确保您拥有与composer.json位于同一目录级别的.env.php文件,并且该文件存在于您的heroku实例中。由于你不能在里面FTP,你需要推到回购。但laravel告诉你这是git忽略的,所以你需要暂时允许它推送到你的heroku回购。
接下来,您需要编辑bootstrap''start.php
将$env=$app->detectEnvironment(function(){})替换为:
$env = $app->detectEnvironment(function() {
return file_exists(dirname(__FILE__) . '/../.env.php')
?
'production'
:
'local';
});
完成所有这些操作后,重新运行migrate命令,它就会正常工作。
您可以点击此链接以供参考。Laravel环境配置未加载,迁移失败-SQLSTATE[HY000][2002]没有这样的文件或目录