MariaDB本地访问错误(远程访问罚款)

时间:2018-03-22 13:11:33

标签: php mariadb

似乎大多数访问问题都是远程的,但这是相反的问题。 以下是所有错误消息:

PHP Warning:  mysqli::mysqli(): (28000/1045): Access denied for user 'root'@'10.168.101.35 (using password: YES) in /var/www/html/hamlookup/index.php on line 291
PHP Warning:  main(): Couldn't fetch mysqli in /var/www/html/hamlookup/index.php on line 291
PHP Fatal error:  Call to undefined method mysqli::fetch_fields() in /var/www/html/hamlookup/index.php on line 295

我在CentOS 7上设置了带有密码的MariaDB,我可以使用任何SQL客户端(不涉及php或apache)从各种Windows机器远程访问它。

我也可以使用mysql命令行工具访问它 mysqli在php中启用(我用phpinfo()检查。

然而,当我检查我的网页运行时,我收到了这些错误" php index.php"在控制台上,当然当通过apache访问网页时,它也会在那里崩溃。

导致错误的行是(方括号中的行号):

[290]  $mysqli = new mysqli( "10.168.101.35","root","*****","hamlookup" );
[291]  if( $mysqli->error ){
[292]    [calling error function here then exit]
[293]  }
[294]  $result = "SELECT * FROM mytable";
[295]  $fieldinfo = $mysqli->fetch_fields( $result );

似乎这是php,mysql和apache之间的问题,但我无法弄清楚。

我还尝试通过PDO连接,但仍然无法连接到服务器。

这很荒谬,因为我可以通过CLI和网络连接,只是php无法访问数据库。

2 个答案:

答案 0 :(得分:0)

您需要在文件/etc/my.cnf

中添加该行
[mysqld] 
bind-address = 0.0.0.0

重启mysql

答案 1 :(得分:0)

问题解决了......

我正在检查$ myDPO-> errorInfo()以错误地验证成功。

这是从旧的mysql _ ***访问API迁移而来的,实际上我正在访问数据库。

一旦更改了errorInfo()检查,似乎一切正常。

抱歉带宽。