Heroku run PHP artisan migrate 出错?

运行完这个命令提示这个错误,是什么情况呢?
file

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

是因为端口的问题,你在env里面默认设置了DB_PORT=3306,pgsql监听的应该是5432。

6年前 评论
讨论数量: 44

heroku 线上数据库, 设置正确了么?

heroku 上mysql上支持不太好, 好像!  试试PostgreSQL, 教程上都安利了!

在 Heroku 上使用 PostgreSQL
https://learnku.com/courses/laravel-essential-training/5.5/589/using-postgresql-on-heroku
6年前 评论

@kaen 我就是按照教程的步骤来弄得,结果不行了,之前第一遍的时候还是可以的。

6年前 评论

好好检查你的数据库配置,是不是db-config变量用在mysql里去了

6年前 评论

@gaga

file

file

file

我的数据库是这样子配置的啊。

6年前 评论
Raymond3689

file

6年前 评论
Raymond3689

@HectorChan 那就不晓得了。

6年前 评论
Raymond3689

@rundong 我学习教程还挺顺利的,中间竟然没有出过什么差错。

6年前 评论
Summer

肯定是落下什么东西啦,把项目删了,从头再来几遍呗,反正都是在学习

6年前 评论

是因为端口的问题,你在env里面默认设置了DB_PORT=3306,pgsql监听的应该是5432。

6年前 评论

pgsql的配置 你并没有用db-config变量配置 请修正

6年前 评论

@iamcyan 还真的如您所说,是我的.env配置文件下面多了一条DB_PORT=3306 导致出现的错误。

6年前 评论

我今天也遇到此情况, 仔细检查后发现 有两个app.php 文件, 一个在bootrap文件夹下,一个在config文件夹下,
我把 require DIR.'/helpers.php' 放错在config/app.php中了。 现在问题解决 仅供参考

6年前 评论

@HectorChan 那你是吧.env配置文件里的DB_PORT=3306删除了吗?话说.env文件修改后怎么样生效的?

6年前 评论

@cyisme1221 我没有加载错,只是在.env配置文件里面设置了Mysql的默认端口··所以导致了在Heroku上无法连接pgsql数据库。

6年前 评论

@ljheisenberg 我对这个.env配置文件的加载···似懂非懂的,也不知道理解的对不对,就是Laravel预加载这个文件的参数,如果找不到的话,再去程序的其他配置文件中查找。

6年前 评论
小花儿

和楼主遇到同样的问题了,楼主的问题解决了吗?

6年前 评论

@yangwb1 解决了,是.env配置文件多了一行默认mysql的3306端口的代码。

6年前 评论
小花儿

file楼主帮我看下,我的env有没有问题?

6年前 评论

@yangwb1 把第10行的DB_PORT=3306删除,然后保存,在试试。

6年前 评论
小花儿

@HectorChan 还是执行不成功,

file
折腾一下午了。。。

6年前 评论

@yangwb1 你这个应该是表的问题,不是数据库连接的问题了,跟我的不一样啊!!!

6年前 评论
小花儿

@HectorChan 我去把第六章这边重头练习一遍

6年前 评论
小花儿

@HectorChan

file搞定啦,我多写了一些重复的代码。。。

6年前 评论

file
执行数据库迁移的时候报的错。。在database.php配置里面的端口是配置成了5432,heroku的数据库端口也是这个,按理说,判断了是线上环境,应该匹配的是pgsql的配置项,可是报的确实3306端口不存在的错误。有遇到过同样的问题吗?

6年前 评论

@xingxiaoli 跟你一样,你解决了吗?

6年前 评论

我也遇见这个问题了,原因是忘记改 database.php 这一段代码了

 'default' => $db_config['connection'],
6年前 评论

@taosang1992 代码颜色有问题,选中一下就能看见了
'default' => $db_config['connection'],

6年前 评论

@yangwb1 你的配置文件内多了一个DB_PORT=3306

6年前 评论

@taosang1992 我的问题出在.env配置文件下的.DB_PORT=3306这条参数。

6年前 评论

@xingxiaoli 你检查一下你的.env配置文件下面的DB_PORT=3306这条参数是否删除。

6年前 评论

.env配置文件下面的DB_PORT=3306这条参数没删除,也一次性部署成功了。。这个跟你本地的.env根本没关系。。返回的DATABASE_URL中的端口就是5432

5年前 评论

@yangwb1 我和你这个错误一模一样,后来我仔细检查,是我helpers.php函数写成了helper.php

5年前 评论

我也碰到这问题,总结下,一定要看好app.php的路径,容易放错代码,根据教程好好过一遍,如何还是不行,看看本地的 .env 里面是否含有DB_PORT=3306,获取环境变量即便是 heroku上也会认为3306,这个删除,再看看自己的 .gitignor 里面是否 含有.env要删除,否者传不到github上去。最后,记得要再 git push heroku master 一次,代码才会生效,再执行 迁移就ok了。。希望对大家有用。。坑了。。。。 绝对好使。记得设为最佳答案哦。 :blush:

5年前 评论

我也遇到了这个问题,把6.7节从头到尾重新操作一遍就解决了,最后发现问题出在少输入了一个命令
$ heroku config:set IS_IN_HEROKU=true

5年前 评论
小花儿

@Kthupppp 不记得利亚,都过去几个月的项目了。另外推荐你租个服务器学习吧,效率高

5年前 评论

删除完.env里的DB_PORT=3306后记得推送到线上heroku,这样才能测试线上数据库迁移好了没

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!