【发布时间】:2020-02-04 03:51:57
【问题描述】:
我已经通过备份工具将数据库从 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 is not working with HTTP ERROR 500 MySQL 日志显示 读取通信数据包时出错
我确实尝试了很多方法来修复它,但不幸的是。 这是我尝试过的: 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
【问题讨论】:
-
您使用的是什么版本的 PHP?
mysql_connect()在 5.5.0 中被贬值,你应该切换到mysqli_connect()。 -
嘿德米特里!感谢您的快速回答,我使用的是 PHP 7.2 (ea-php72)。您能否更具体地说明我应该使用哪个版本?
-
你的版本没问题,你需要更新你的PHP代码。根据php manual pages mysql_connect 功能不再可用,你应该尝试类似example of mysqli_connect。
-
您可能需要考虑直接更改 MySQL 用户名和密码,因为将这些内容放在可公开访问的网站上并不是很明智..
-
大家好,谢谢大家的回答,这个example of mysql_connect很有帮助,但是WordPress的wp-config.php还是有同样的问题...!
标签: php mysql database cpanel centos7