Symfony2 JMS Serializer JSON_常量错误

时间:2013-12-03 15:31:40

标签: php json symfony jms serializer

  

PHP致命错误:未捕获的异常   带有消息的'JMS \ Serializer \ Exception \ InvalidArgumentException'   '期望一个表示JSON_常量之一的整数,   或者一串常数本身。“在   /var/www/mobilegolfplan.com/vendor/jms/serializer-bundle/JMS/SerializerBundle/DependencyInjection/Configuration.php:142\nStack   trace:\ n#0 [内部函数]:   JMS \ SerializerBundle \ DependencyInjection \ {闭合}(阵列)\ n#1   /var/www/mobilegolfplan.com/vendor/symfony/symfony/src/Symfony/Component/Config/Definition/Builder/ExprBuilder.php(229):   call_user_func(Object(Closure),Array)\ n#2   /var/www/mobilegolfplan.com/vendor/symfony/symfony/src/Symfony/Component/Config/Definition/BaseNode.php(254):   的Symfony \组件\配置\定义\生成器\ {闭合}(阵列)\ N#3   /var/www/mobilegolfplan.com/vendor/symfony/symfony/src/Symfony/Component/Config/Definition/ArrayNode.php(308):   的Symfony \组件\配置\定义\ BaseNode->正常化(阵列)\ N#4   /var/www/mobilegolfplan.com/vendor/symfony/symfony/src/Symfony/Component/Config/Definition/BaseNode   在   /var/www/mobilegolfplan.com/vendor/jms/serializer-bundle/JMS/SerializerBundle/DependencyInjection/Configuration.php   在第142行

我尝试在生产服务器上安装项目,但我收到了错误消息。安装并启用了PHP json扩展。如果我想尝试使用composer安装,我再次一次又一次地看到了这个错误。

我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在配置文件中的JSON常量中,尝试像这样给出0:

jms_serializer:
    visitors:
        json:
            options: 0

您可能没有使用正确版本的PHP。您使用的是PHP 5.3或更低版本吗?

对于Json常量:JSON_UNESCAPED_SLASHESJSON_UNESCAPED_UNICODE起作用,必须使用PHP 5.4或更高版本。

在PHP 5.4或更高版本中,以下代码将起作用:

jms_serializer:
    visitors:
        json:
            options:   [ JSON_UNESCAPED_SLASHES , JSON_UNESCAPED_UNICODE ]