Silex部署IIS

时间:2016-03-23 09:35:22

标签: php symfony iis twig silex

我正在开发一个Silex项目,我有这个错误500,我无法弄清楚如何解决它。

该项目位于使用IIS和php 5.5的另一台服务器后面的共享驱动器(文件服务器)上。 我的本地服务器上没有任何问题。

错误:

string(2710) "An exception has been thrown during the rendering of a template ("Invalid resource provided: "1.2"; Errors: [WARNING 1549] failed to load external entity "file://///PASE-CFG-PP1/IIS_CONTENT/MYPROJECT/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd" (in n/a - line 0, column 0)
[WARNING 3084] Element '{http://www.w3.org/2001/XMLSchema}import': Failed to locate a schema at location 'file://///PASE-CFG-PP1/IIS_CONTENT/MYPROJECT/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd'. Skipping the import. (in in_memory_buffer - line 33, column 0)
[ERROR 3004] attribute use (unknown), attribute 'ref': The QName value '{http://www.w3.org/XML/1998/namespace}lang' does not resolve to a(n) attribute declaration. (in in_memory_buffer - line 1661, column 0)
...
...

这是我自己的错误配置吗?或者symfony不处理unc路径或类似的东西? 以及如何解决它?

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

Php(DOMDocument)可以使用定义的xsd来验证加载的xml。在内部,它解析xml,当它看到xsd引用进行验证时,将检索xsd并用于验证xml。

翻译加载程序组件可能正在加载xml,无法找到xsd来验证它。是否允许php访问fileSystem上的文件(文件权限)? 如果您想确定,请尝试使用php中的特定文件file_get_contents()

如果这不是问题,您有两个选择。这些将忽略该问题,而不是解决它:  1.在加载转换之前禁用xml错误。  2.禁用翻译组件

来自Symfony的XmlUtils代码可以作为一个很好的参考: https://github.com/symfony/config/blob/master/Util/XmlUtils.php

他们遇到验证问题: https://github.com/symfony/symfony/pull/10493