背景:从EasyApache3 -> EasyApache4 (Cpanel)转换而来。从mpm-prefork/php5.5/dso升级到mpm-worker/php71fpm/fastcgi。
错误消息为:
Failed to parse address "127.0.0.1:3306:3306" in /home/user/conndb/conndb.php on line 2代码是:
<?php
$con = mysqli_connect('127.0.0.1:3306','user','password','database');
?>我之前在一个测试服务器上测试过这个配置,没有任何问题--非常困惑,以至于我在生产中遇到了这个问题。已尝试更改为localhost,但没有区别。必须恢复到EasyApache3配置。
我被难住了。请注意,该端口在错误消息中重复了两次。我想知道这个版本的mysqli是否足够“聪明”,知道放入3306本身,然后在显式编码时就会卡住?
发布于 2017-04-24 03:23:03
结束问题...已确认卸下:3306端口解决了此问题。显然,将php5.5更改为php7.1。我不确定您将如何处理非标准的mysql端口-但对我来说不是问题。
发布于 2018-01-17 20:16:02
根据PHP文档,如果使用非标准端口,则必须将其作为第五个参数传递-
// change the last parameter to whatever your DB port is
$con = mysqli_connect('127.0.0.1' 'username', 'password', 'database', 3306);所说的“非标准端口”指的是所有东西,不同于
echo ini_get("mysqli.default_port");因为这是此参数的默认值。
PHP文档页面- http://php.net/manual/en/mysqli.construct.php
https://stackoverflow.com/questions/43571734
复制相似问题