Symfony2:如何使php_intl扩展可用于Symfony2?

时间:2012-06-27 21:02:29

标签: forms symfony setattribute

我正在尝试在Symfony上关注此文档:http://symfony.com/doc/current/book/forms.html

好,所以这是我的事情,我已经外化了我的表单并创建了一个特定的表单类来处理该进程并能够重用它。

那么当我提交表格时会发生什么,无论我的班级有什么信息都没关系,我得到了这个致命错误:

  

致命错误:在非对象上调用成员函数setAttribute()   在C:\ Program Files中   (86)\瓦帕\ WWW \ QNetworks \厂商\ symfony的\ SRC \的Symfony \元器件\表格\扩展\核心\ DataTransformer \ NumberToLocalizedStringTransformer.php   在第130行调用堆栈

我正在使用php 5.3.9运行并且我的intl扩展已安装并激活但是当我运行app / check.php命令时,我看到了:

  

[[警告]]检查intl扩展名是否可用:FAILED

     

*安装并启用intl扩展(用于验证器)*

所以我不明白这个扩展的问题是什么。我应该重新安装吗? 当我去这里时:http://php.net/manual/en/intl.requirements.php 我知道我可以安装PECL或ICU库,但我不知道是否应该和我的问题有什么关系..

3 个答案:

答案 0 :(得分:3)

您的Intl扩展必须属性配置。 如果使用phpinfo()

确实激活了,请检查您的服务器

然后在php.ini上激活日志记录:

[intl]
intl.error_level = E_WARNING
extension=php_intl.dll

并检查日志

如果它被激活可能是故障。尝试将dll重新下载到c:\ PHP \ ext \ php_intl.dll

答案 1 :(得分:1)

注意你有两个php.ini:

  • *瓦帕\ BIN \ PHP中\ php5.3.13
  • *瓦帕\ BIN \阿帕奇\ apache2.2.22 \ BIN

你应该取消注释extension = php_intl.dll。

答案 2 :(得分:-2)

启用intl扩展后,需要将一些文件复制到apache bin目录。它可以帮到你:http://www.youtube.com/watch?v=gtIcpdPzXiE