【问题标题】:Can't connect database of another pc in the same LAN in Laravel [duplicate]无法在 Laravel 中连接同一局域网中另一台 PC 的数据库 [重复]
【发布时间】:2020-06-15 19:46:33
【问题描述】:

我们正在通过连接到同一个 LAN 的三台计算机处理同一个项目。我们希望为在不同计算机上运行的三个相同项目维护一个通用数据库。

我们在第 4 台电脑上创建了一个数据库并更改了 httpd-xampp.conf 文件。我们在 phpmyadmin 别名中添加了“Require all granted”,以便我们可以从同一局域网中的另一台电脑访问数据库。我们可以通过浏览器访问phpmyadmin页面,也可以在网页中手动创建db。但问题是我们无法从 laravel 项目连接到数据库。

我们在 .env 中更改了以下几行

DB_HOST=192.168.0.155
DB_PORT=3306

但我们面临以下错误。

SQLSTATE[HY000] [2006] MySQL server has gone away

【问题讨论】:

    标签: php mysql laravel xampp connection


    【解决方案1】:

    这不完全是 LAN 问题。最常见的原因是服务器超时并关闭了连接。请检查my.ini 文件中的wait_timeout 参数,该文件通常位于X:\xampp\mysql\bin\ 文件夹中。另一个原因是max_allowed_packet 参数。尝试增加它。完成后,请重新启动您的 XAMPP 并重试。

    【讨论】:

    • 在我的 xampp my.ini 文件中,我找到了以下行。 innodb_lock_wait_timeout=28800 但是我找不到wait_timeout。他们都一样吗?顺便说一下,我已将 max_allowed_pa​​cket 增加到 256。
    • @SudiptoRoy 他们不一样。在 my.ini 的 [mysqld] 部分中,您可以为 wait_timeout=28800 添加一个新行,以便在终止连接之前具有相同的 8 小时窗口。如果两个小时是合理的,wait_timeout=7200 是您的限制。
    • @SudiptoRoy 您能否发布 A) 显示全局变量的文本结果,例如 '%timeout%';所以我们知道你在用什么运行?
    • @SudiptoRoy 请告诉我们您从 SELECT @@max_allowed_pa​​cket 得到的结果;这将是要管理的单个数据包中允许的最大字节数。我们也在等待发布 SHOW GLOBAL VARIABLES LIKE '%timeout%' 的 TEXT 结果; .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    相关资源
    最近更新 更多