php - 与数据库的连接在读取通信数据包时出错

标签 php mysql database cpanel centos7

我已经通过备份工具将一个数据库从 cPanel 迁移到 cPanel,但问题是每当我尝试连接到这个数据库时,例如使用这个 TEST php 代码

<?php
# Fill our vars and run on cli
# $ php -f db-connect-test.php
$dbname = 'imadoulh_test';
$dbuser = 'xxxxx';
$dbpass = 'xxxxx';
$dbhost = 'localhost';
$connect = mysql_connect($dbhost, $dbuser, $dbpass) or die("Unable to Connect to '$dbhost'");
mysql_select_db($dbname) or die("Could not open the db '$dbname'");
$test_query = "SHOW TABLES FROM $dbname";
$result = mysql_query($test_query);
$tblCnt = 0;
while($tbl = mysql_fetch_array($result)) {
  $tblCnt++;
  #echo $tbl[0]."<br />\n";
}
if (!$tblCnt) {
  echo "There are no tables<br />\n";
} else {
  echo "There are $tblCnt tables<br />\n";
}

响应是 This page isn't working with HTTP ERROR 500 并且 MySQL 日志显示 Got an error reading communication packets

我确实尝试了很多方法来修复它,但不幸的是。 这是我尝试过的: 1.优化修复表 2. 添加一些代码到/etc/my.conf 文件例如

     max_allowed_packet=2684354569944
     open_files_limit=10000
     default-storage-engine=MyISAM
     innodb_file_per_table=1
     default_authentication_plugin=mysql_native_password

处理这篇文章: https://dba.stackexchange.com/questions/19135/mysql-error-reading-communication-packets

最佳答案

来自 http 的错误 500 表示您的网络程序——您的 php 程序——未能发送该页面。但是 500 绝对不能告诉我们它失败的原因。所以,继续前进......你似乎在 php 和 mysql 之间遇到了通信错误。

我认为您问题中的关键词是from cPanel to cPanel。这表明您正在将您的应用程序从一个服务器迁移到另一个服务器,甚至可能从一个托管供应商迁移到另一个托管供应商。

您已将 MySQL 数据从备份导入到具有不同 IP 地址的新服务器上。因此,您现在有两个不同的数据库实例。而且,您的 php 程序可能有两个不同的实例。

现在您正在解决这些问题:

  • 我的新 PHP 代码可以与我的新数据库服务器通信吗?从您的问题中很难判断答案是“否”还是“有时,但不可靠”。

  • 我的新 PHP 代码是否在与其 MySQL 数据库相同的托管供应商处运行?用网络工程师的行话来说,问题是“它们在同一个数据中心网络上吗?”

  • 我是否有机会尝试从旧代码访问新数据库,或者从新代码访问旧数据库?

一些(但不是全部)托管公司的技术支持专家知道这种事情。打电话寻求帮助,但要确保您说出的前两个词是“我正在迁移”,这样他们就知道这是新客户和一次性设置问题。

关于php - 与数据库的连接在读取通信数据包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58259590/

相关文章:

php - Linux-Centos : Giving nginx chmod access

php - 使用表单和 mysql 进行动态项目数据管理

php - 如何标准化标签表

database - 使用远程 PostgreSQL 数据库的 Jenkins 用户登录

mysql - 检查一列是否为空

php - 从 PHP 调用 Ajax 来执行单独的 PHP;有什么危险吗?

php - 3 个示例如何在 mysql 中输出 JSON。它们在 mysqli 中应该是什么样子?

php - 私有(private)消息通知 - 数据库表设计

mysql - 在单词的第一部分创建mysql索引

php - 使用 PHP 在表中显示 MySQL 数据库 BLOB 图像