控制器不存在
Posted
技术标签:
【中文标题】控制器不存在【英文标题】:Controller does not exist 【发布时间】:2022-01-06 09:43:31 【问题描述】:我有一个问题,我无法解决。或许你能帮忙?
我切换到一个新的 vHost,我使用 Plesk Obsidian 来管理它。 在旧服务器上,我成功地开发了一个 Symfony 5 项目。这 项目存储在 github 存储库中(本地数据除外)。所以在更改到新服务器时,我做了以下操作:
我在新服务器上通过 ssh 检查了 git 项目。 我使用 composer install 安装了 id,并使用 composer update 更新了所有包 我添加了旧数据库并启用了开发环境进行测试。 我在 Plesk 中添加了一个新的子域,指向 symfony 项目的公共目录。 我在 public 目录中添加了一个 .htaccess 文件,内容如下:
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /index.php/
</IfModule>
</IfModule>
Now on accessing the subdomain, The default page loads. But on accessing a subpage, I get the following error:
Class "1\PageController" does not exist in /var/www/vhosts/xx/xx/config/routes/../../src/Controller/ (which is being imported from "/var/www/vhosts/xx/xx/config/routes/annotations.yaml"). Make sure annotations are installed and enabled
【问题讨论】:
【参考方案1】:解决办法是
移除 plesk 的 composer 插件 删除项目的所有文件 再次克隆 git 项目 以 root 身份安装(或任何其他用户,不是真正的系统用户) 作曲家安装也许我已经安装了 plesk 插件,它仍然是 composer 1.* 而不是最新的,这是问题所在。并非一切正常。
【讨论】:
【参考方案2】:也许根本不是这样,但我在使用 InteliJ IDE 时遇到了同样的问题,因为当您重新格式化控制器时,它会从文件中删除注释的导入。 也许会有所帮助。
【讨论】:
以上是关于控制器不存在的主要内容,如果未能解决你的问题,请参考以下文章