【问题标题】:json_encode behaving differently on dev vs live serversjson_encode 在开发服务器和实时服务器上的行为不同
【发布时间】:2015-05-09 15:19:19
【问题描述】:

我正在使用 laravel homestead(Ubuntu 14.04.1 LTS、PHP 5.6.3-1、NGINX 1.6.2、MYSQL 5.6.19-0)作为我的开发机器,并正在推送到(Ubuntu 14.04.2 LTS、 PHP 5.6.6-1、Apache/2.4.12、MYSQL 5.5.41-0)。

在我的开发环境中,当我从 laravel api 返回 json 时,数字似乎总是作为数字传递。在实时服务器上,数字以字符串形式返回。我正在尝试确定是否存在需要更改/升级的组件之一的设置或版本。

我需要进行哪些更改才能让我的实时服务器返回号码?

【问题讨论】:

  • 您在实时服务器上使用什么 PHP MySQL 驱动程序(php5-mysqlnd 或 php5-mysql)?使用 php5-mysqlnd。
  • 是的,php5-mysqlnd 在本地,php5-mysql 在现场。只需阅读 doco,这看起来可能是罪魁祸首。 php5-mysqlnd 似乎在 mysql 和 php 之间创建了更好的通信,并且可以更好地传输数据类型。这听起来对吗?
  • 是否有任何数字绊倒了字符串?
  • @kums 你是对的,它是 mysql 驱动程序。非常感谢你的帮助!将其添加为答案,我会将其标记为正确。

标签: php mysql apache ubuntu nginx


【解决方案1】:

由于您的实时服务器未使用 php-mysqlnd 驱动程序,而您的本地服务器正在使用它,您会看到差异。在您的实时服务器上安装 php-mysqlnd 以使其正确。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多