微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我已部署的Symfony应用程序无法加载bundles.php文件?

如何解决为什么我已部署的Symfony应用程序无法加载bundles.php文件?

我有一个Symfony Web应用程序。我想将其部署到虚拟专用服务器上。

我已经在Laravel Homestead Vagrant box中开发了该应用程序,并且正在通过Github操作进行部署。

在我的本地计算机上,该应用程序在Vagrant环境中运行良好,但是将文件同步到实时服务器后,它给了我一个错误屏幕。

警告:require(/var/www/thebedechkacase.com/src/config/bundles.PHP): 打开流失败:没有这样的文件或目录

错误来自Kernel.PHP的第20行,看起来像这样

const CONfig_EXTS = '.{PHP,xml,yaml,yml}';
public function registerBundles()
{
    $contents = require $this->getProjectDir().'/config/bundles.PHP';
    foreach ($contents as $class => $envs) {
        if ($envs[$this->environment] ?? $envs['all'] ?? false) {
            yield new $class();
        }
}

我不明白的是,根据错误消息和上面的代码$this->getProjectDir()输出解析为/var/www/thebedechkacase.com/src/thebedechkacase.com是我的应用程序代码所在的文件夹存储),但bundles.PHP实际上位于/var/www/thebedechkacase.com/config/中。

Symfony为什么认为projectDirsrc中,为什么它不在根目录(又名config)中寻找thebedechkacase.com/?为什么这在我的开发环境中有效,但在实时服务器上却不起作用?

其他信息::我正在尝试使用我在Github操作中调用的shell脚本来设置必要的环境变量,但是当我在实时服务器上手动检查环境变量时外壳程序,我没有看到它们被设置,因此我的脚本可能首先被破坏了(这就是为什么您可以看到认的Symfony错误页面的原因)。可能与此有关或这是另一个错误吗?

您可以在其中看到错误的网址: https://thebedechkacase.com/

该项目的Github存储库: https://github.com/Cooty/the-bedechka-case

部署代码的操作: https://github.com/Cooty/the-bedechka-case/blob/develop/.github/workflows/main.yml

Symfony版本: 5.0

实时服务器正在运行Ubuntu 20.04,带有PHP-FPM 7.4和PHP 7.4的Ngingx。

解决方法

Cared-带我去解决方案,我从rsync命令的文件列表中排除了composer.json,我认为只需要安装依赖项就可以了,但Symfony并不需要在运行时从中读取信息。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。