几天前,I asked a question about a bug I found in Laravel。
要修复它,我在我的服务器上安装了php5-mysqlnd。
今天,我将我的应用程序升级到最新的php 7.1。*。一切正常,除了错误再次回来,即数据库中的整数作为字符串返回,这不符合我的严格比较。
我试图为php 7.1找到mysqlnd的包,但是没有(但是?)。但是mysqlnd似乎已启用了......
的phpinfo()
PHP Version => 7.1.3-2+0~20170315222009.20+jessie~1.gbpc7e7dd
System => Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64
mysqlnd
mysqlnd => enabled
Version => mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $
pdo_mysql
PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $
localhost上的输出:
" ID" => 5
服务器上的输出:
" ID" => " 5"
1 /我还应该看看其他什么吗?
2 /一般情况下,我应该重构我的代码以接受来自db的字符串而不是期望整数吗?
谢谢。
答案 0 :(得分:2)
phpinfo()来自控制台的php版本,而不是Apache。 结果是php7.1并没有在Apache中加载mysqlnd。
现在一切都很好......