gpt4 book ai didi

php - 使用 MySQL PDO 时出现段错误

转载 作者:行者123 更新时间:2023-11-29 08:41:51 27 4
gpt4 key购买 nike

我刚刚开始在 Laravel 中开发一个新站点,但在连接 MYSQL(版本 5.5.25a)数据库时遇到问题。 mysql 服务器位于同一本地网络,但与 Web 服务器(OSX 服务器)位于不同的计算机上。很长一段时间以来,这个设置对我来说在 Codeigniter、YII、straight up PHP 等中运行良好。

我已经使用我的数据库凭据设置了 Laravel 的 /config/database.php,但是每当其位于使用 Laravel 的 PDO 数据库类建立数据库连接的页面上时,该站点就会超时。它给我带来了可怕的 Error 324 (net::ERR_EMPTY_RESPONSE): The server Closed the connection without Sending any data. Chrome 中的错误。

如果我输入的凭据不正确(密码/用户名/数据库名错误),Laravel 会给我一条真正的 MYSQL 错误消息 SQLSTATE[28000] [1045] Access returned for user...,所以它看起来它可以很好地与服务器通信。

如果我使用 mysqli 进行快速而肮脏的数据库调用并使用 chromePHP 记录结果,一切似乎都工作正常,并且它从数据库返回正确的行数,没有超时,没问题。

$mysqli = new mysqli('192.168.1.178', 'username', 'password', 'dbname');

if ($mysqli->connect_error){
die ("Connect error: " . $mysqli->connect_error );
}

if ($result = $mysqli->query("SELECT username FROM user LIMIT 10")) {
ChromePhp::log($result->num_rows);
/* free result set */
$result->close();
}

更新

我检查了日志,没有从 mysql 得到任何信息,但是 apache 日志在超时时显示以下错误:

child pid 60418 exit signal Segmentation fault (11)

我还注意到 phpinfo() 显示 PDO Client API 版本设置为 mysqlnd 5.0.7-dev - 091210 - $Revision: 300533 ,我想知道这之间是否不匹配可能是客户端版本和MYSQL服务器版本有问题?


当我尝试将 PDO 与 mysql 一起使用时,为什么 php/mysql 会超时?

最佳答案

您有 2 个环境 CLI 和浏览器。两者都应该与您的 ip 或“localhost”一起使用,但根据我的经验,一种环境在数据库配置中使用您的 IP,而另一种环境在数据库配置中使用“localhost”。

关于php - 使用 MySQL PDO 时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13577596/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com