2017-04-23 35 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