mysql_connect无法在远程服务器中工作,而不能在本地服务器上工作

时间:2014-07-12 02:50:58

标签: php mysql mysqli

我收到了这样的警告:

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

当我尝试将我的代码上传到我的远程服务器时,我的远程服务器当前正在使用php 5.5 ,这是因为mysql扩展已经被弃用,所以我必须将扩展名更改为mysqli? 但是在我的本地服务器中,我也在php 5.5中进行了测试,它正常工作

这里会出现什么问题?

2 个答案:

答案 0 :(得分:2)

如果您正在运行ubuntu / debian。

     apt-cache search php5-mysqlnd

找一个适合的人:

     apt-get install php5-mysqlnd

答案 1 :(得分:1)

我认为您的问题是this

  

发布MySQL 5.6.17之后,一些用户抱怨了   他们的PHP应用程序抛出的警告:

     

PHP警告:mysql_connect():标头和客户端库次要版本   不匹配。标题:50535图书馆:50617

     

事实上,任何链接到的应用程序都可能发生这种情况   某个版本的libmysqlclient18(来自Dotdeb的php5-mysql是   链接到来自Debian发行版的5.5.35版本)   连接到另一个版本的MySQL服务器(在我们的例子中为5.6.17)。   libmysqlclient18本身会抛出警告。这只是一个   警告,没有理由为什么会发生任何不良行为   情况下。

     

当然,我可以针对最新版本构建php5-mysql   libmysqlclient18(5.6.17),但它会导致非常糟糕的问题,例如   当PHP加载其他时,作为重复符号或段错误   来自Debian发行版的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
     

我希望这会有所帮助。

相关问题