2017-04-23 38 views
0

背景:从EasyApache3→EasyApache4(Cpanel)转换。从mpm-prefork/php5.5/dso转到mpm-worker/php71fpm/fastcgi。无法解析mysqli_connect上的地址

的错误信息是:

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'); 
?> 

我做了这个配置的先前测试的测试服务器上没有问题 - 都感到惊奇,我跑进这在生产中。尝试改为本地主机,但没有区别。必须恢复到EasyApache3配置。

我很难过。注意端口在错误信息中重复两次。我想知道这个版本的mysqli是否'聪明',足以知道要放入3306本身,然后在明确编码时扼杀?

回答

1

结束该问题....确认删除:3306端口纠正了该问题。很明显一个php5.5更改为php7.1。我不知道你如何处理非标准的mysql端口 - 但对我来说不是问题。

+0

Thx,这解决了我的问题。 –

1

根据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

+0

尽管这个链接可能回答这个问题,但最好在这里包含答案的重要部分,并提供供参考的链接。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/18542965) –

+0

已编辑。谢谢,我很抱歉 – user2966621