我正在开发一个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路径或类似的东西? 以及如何解决它?
谢谢你的帮助
答案 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