最近,我将 Symfony 系统移动到另一台服务器,从那时起就出现错误。
技术细节是:
Windows Server 2012 上的 apache 2.4 服务器
apache可以通过本地网络访问的文件服务器
当我移动 Symfony 页面时,我删除了缓存。
现在发生的情况是,我收到这些错误消息:
InvalidArgumentException: Unable to parse file "\\FILESERVER\PAGEPATH\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\DependencyInjection/../Resources/config\web.xml".
and
InvalidArgumentException: [WARNING 1549] failed to load external entity "file://///FILESERVER/PAGEPATH/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.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://///FILESERVER/PAGEPATH/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd'. Skipping the import. (in in_memory_buffer - line 8, column 0)
[ERROR 1845] Element '{http://symfony.com/schema/dic/services}container': No matching global declaration available for the validation root. (in //FILESERVER/PAGEPATH/web/ - line 5, column 0)
问题似乎在于,在第一个错误中,路径中混合了斜杠和反斜杠,但我不知道如何解决这个问题。
此问题是由于使用 UNC 路径 (\\something) 造成的。我在另一台服务器上的 IIS 和 Symfony 的 Windows 网络环境中遇到了同样的问题。不幸的是,我无法找到解决方案。我最终在同一台机器上拥有源代码并使用本地路径。
EDIT:我找到了另一种可能的解决方案 - 符号链接。
mklink /d C:\myroot \\FILESERVER\PAGEPATH
现在您可以在 C:\myroot 下看到共享文件夹的内容。我不知道 Apache 是否会对此感到满意,但 IIS 没有问题。还有一件事,要为网络传输引起的一些性能问题做好准备。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)