簡體   English   中英

mysql_connect不能代替本地服務器在遠程服務器上工作

[英]mysql_connect can not work in remote server in stead of local server

我得到了這樣的警告:

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50537 Library:50617

當嘗試將我的代碼上傳到遠程服務器以及當前使用php 5.5的遠程服務器時,這是因為mysql擴展名已被棄用,因此我必須將擴展名更改為mysqli嗎? 但是在我的本地服務器上,我也在php 5.5中進行了測試,它可以正常工作

這里的問題是什么?

如果您正在運行ubuntu / debian。

     apt-cache search php5-mysqlnd

找到一個合適的:

     apt-get install php5-mysqlnd

我認為您的問題是這樣的

在發布MySQL 5.6.17之后,一些用戶抱怨他們的PHP應用程序引發了警告:

PHP警告:mysql_connect():標頭和客戶端庫次要版本不匹配。 標頭:50535圖書館:50617

實際上,當連接到另一個版本(5.6.17中的版本)的MySQL服務器時,在某個版本中鏈接到libmysqlclient18的任何應用程序都可能發生這種情況(Dotdeb的php5-mysql從Debian發行版鏈接到5.5.35版本)。我們的情況)。 該警告由libmysqlclient18本身引發。 這只是一個警告,在這種情況下沒有任何不良行為發生的理由。

當然,我可以針對最新的libmysqlclient18(5.6.17)構建php5-mysql,但這會導致非常嚴重的問題,例如,當從庫存的Debian發行版中向PHP加載其他與MySQL鏈接的模塊時,符號就會重復或出現段錯誤(這些鏈接到libmysqlclient18 5.5.35)。 例如:mod_php5 + Apache + mod_auth_mysql將崩潰。

如果此警告確實使您感到困擾,請隨時安裝php5-mysqlnd而不是php5-mysql:

 it's a drop-in replacement it's not linked against any libmysqlclient library it won't throw any irrelevant warning about version mismatch it has a lot of benefits. See http://www.php.net/mysqlnd for more info 

我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM