Php Laravel4.1到Heroku:SQLSTATE[HY000][2002]没有这样的文件或目录
我根据本文在Heroku中部署了我的Laravel4.1应用程序 静态HTML主页加载正常,但当我试图登录时,我得到了错误Php Laravel4.1到Heroku:SQLSTATE[HY000][2002]没有这样的文件或目录,php,heroku,laravel-4,Php,Heroku,Laravel 4,我根据本文在Heroku中部署了我的Laravel4.1应用程序 静态HTML主页加载正常,但当我试图登录时,我得到了错误 SQLSTATE[HY000] [2002] No such file or directory 我的本地设置是Laravel4.1和MySQL 我认为在我部署时没有创建数据库 我需要手动操作吗?那么我的设置是怎样的 谢谢 问题可能是您的环境可能仍然指向本地。在cli中,键入heroku运行php artisan env以了解情况 否则,您可能需要运行php artis
SQLSTATE[HY000] [2002] No such file or directory
我的本地设置是Laravel4.1和MySQL
我认为在我部署时没有创建数据库
我需要手动操作吗?那么我的设置是怎样的
谢谢 问题可能是您的环境可能仍然指向本地。在cli中,键入
heroku运行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_字符串模块没有任何关系,就像这篇文章所说的。
问题在于环境设置
首先,确保您的.env.php文件与composer.json处于相同的目录级别,并且它存在于heroku实例中。因为你不能在里面用FTP,你需要推到回购。但laravel告诉你这是git被忽略的,所以你需要暂时允许它推到你的heroku回购协议
接下来,您需要编辑bootstrap\start.php
将$env=$app->detectEnvironment(函数(){})替换为:
$env=$app->detectEnvironment(函数(){
返回文件_存在(dirname(_文件__)。'/../.env.php')
?
“生产”
:
"本地",;
});
完成所有这些操作后,重新运行migrate命令,它就会工作
您可以点击此链接以供参考。
您的服务器上是否设置了mysql?可能存在重复的