Heroku run PHP artisan migrate 出错?

问答 HectorChan ⋅ 于 6个月前 ⋅ 最后回复由 ayauper 2个月前 ⋅ 1057 阅读

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

本文章首发在 Laravel China 社区
成为第一个点赞的人吧 :bowtie:
最佳答案
  • 是因为端口的问题,你在env里面默认设置了DB_PORT=3306,pgsql监听的应该是5432。

    6个月前
回复数量: 39
  • heroku 线上数据库, 设置正确了么?

    heroku 上mysql上支持不太好, 好像!  试试PostgreSQL, 教程上都安利了!
    
    在 Heroku 上使用 PostgreSQL
    https://laravel-china.org/courses/laravel-essential-training-5.5/589/using-postgresql-on-heroku
    6个月前
  • @kaen 我就是按照教程的步骤来弄得,结果不行了,之前第一遍的时候还是可以的。

    6个月前
  • @HectorChan 解决了吗

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

    6个月前
  • @Winter 没解决呢

    6个月前
  • @gaga

    file

    file

    file

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

    6个月前
  • file

    6个月前
  • @rundong 还是不行!!!

    6个月前
  • @HectorChan 那就不晓得了。

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

    6个月前
  • Summer 站长 @ laravel-china.org

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

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

    6个月前
  • pgsql的配置 你并没有用db-config变量配置 请修正

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

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

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

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

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

    5个月前
  • 和楼主遇到同样的问题了,楼主的问题解决了吗?

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

    5个月前
  • file楼主帮我看下,我的env有没有问题?

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

    5个月前
  • @HectorChan 还是执行不成功,

    file
    折腾一下午了。。。

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

    5个月前
  • @HectorChan 我去把第六章这边重头练习一遍

    5个月前
  • @HectorChan

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

    5个月前
  • @yangwb1 好的。

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

    5个月前
  • @xingxiaoli 跟你一样,你解决了吗?

    4个月前
  • @desmond 怎么解决的呢?

    4个月前
  • @xingxiaoli 你删除.env第十行试试

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

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

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

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

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

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

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

    3个月前
  • ayauper 经理 @ Shkaodao

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

    2个月前 1
您需要登陆以后才能留下评论!

Composer 中国全量镜像

Top 250 扩展包

Lumen 中文文档

Laravel 速查表

Laravel 中文文档

Laravel 项目开发规范

Laravel 开发环境部署

Composer 中文文档

Elasticsearch-PHP 中文文档

Lumen 中文文档

GraphQL PHP 中文文档

社区文档撰写指南

TDD 构建 Laravel 论坛笔记

PHP PSR 标准规范

PHP 设计模式全集

Dingo API 中文文档