我收到了这样的警告:
Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50537 Library:50617
当我尝试将我的代码上传到我的远程服务器时,我的远程服务器当前正在使用php 5.5 ,这是因为mysql扩展已经被弃用,所以我必须将扩展名更改为mysqli? 但是在我的本地服务器中,我也在php 5.5中进行了测试,它正常工作
这里会出现什么问题?
答案 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
我希望这会有所帮助。