Symfony 在错误的位置查找应用程序文件夹

Symfony looks for app folder in wrong place

我的 Symfony 3.3 应用程序在错误的位置查找应用程序文件夹。

我将 Symfony 3.3 项目部署到子域 (subdomain.domain.com)。服务器上的子域文件夹位置是:/home/USERNAME/public_html/PROJECTNAME 子域文档根目录为:/home/USERNAME/public_html/PROJECTNAME/web

这是正常的 Symfony 文件夹结构,没有任何变化。为什么它没有在正确的位置寻找应用程序文件夹?我错过了什么?

我得到的错误是:

request.CRITICAL: Uncaught PHP Exception Symfony\Component\Config\Exception\FileLocatorFileNotFoundException: "The file "/home/USERNAME/public_html/app/config/routing.yml" does not exist." at /home/USERNAME/public_html/PROJECTNAME/var/cache/prod/classes.php line 3040 {"exception":"[object] (Symfony\Component\Config\Exception\FileLocatorFileNotFoundException(code: 0): The file \"/home/USERNAME/public_html/app/config/routing.yml\" does not exist. at /home/USERNAME/public_html/PROJECTNAME/var/cache/prod/classes.php:3040)"} []

编辑:

我发现 composer.json 不在正确的文件夹中。我将其作为答案发布并接受了。

你应该在部署后 运行 bin/console cache:clear 命令。

那么AppKernelgetCacheDir方法的内容呢?

应该是:

return dirname(__DIR__).'/var/cache/'.$this->getEnvironment();

错误消息给了你线索,我不知道你是如何浏览你的网站的,但 Symfony 试图从你的根文件夹中找到文件,我猜你正试图以 domain.if 的方式浏览它是子域然后 URL 应该是这样的 SubDomainFolderName.DomainName

或者尝试使用 .htaccess

来解决这个问题

composer.json 文件需要在应用程序的根文件夹中。