Symfony3:在Windows中开发,在Linux中部署。目录分隔

问题描述 投票:3回答:2

我有以下问题:我在Win10下写了一个小主页。一切都很好但是当我在Linux系统中部署我的工作时,我收到以下消息:

[2015-12-17 09:28:41] request.CRITICAL: Uncaught PHP Exception Twig_Error_Loader:
"The "/info/wwv/data/someone\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle/Resources/views" directory does not exist."
at /info/wwv/data/someone/vendor/twig/twig/lib/Twig/Loader/Filesystem.php line 94 [...]

我认为DIRECTORY_SEPARATOR或类似问题存在问题。路径存在,当我用斜杠替换反斜杠时,我可以访问它。

此外,我的日志写在目录app\logs而不是真正的子目录app/logs

linux directory symfony
2个回答
5
投票

您是否在Windows上生成缓存并部署缓存而不是在Linux服务器上构建缓存?由于操作系统之间的差异,这确实无法正常工作。最新版本的Symfony允许在部署之前构建缓存并将其复制到其他服务器,但这不适用于Windows的一方和Linux的另一方。


0
投票

我有一个类似的问题。有一天symfony 3.4(在php7.2.16上)停止工作。将AppKernel.php中的某些路径设置从“/”更改为“\\”后,一切正常。

EG

public function getLogDir()
{
   return dirname(__DIR__).'\\var\\logs';
}

它似乎与路径设置有关的Windows问题。

© www.soinside.com 2019 - 2024. All rights reserved.