我第一次尝试在生产环境中运行我的项目,我没有按照预期进行。
按照此处的说明进行操作后https://symfony.com/doc/current/deployment.html 我的localhost/Symfony/web/app_dev.php
页面中出现错误:
ClassNotFoundException: Attempted to load class "SensioGeneratorBundle" from namespace "SensioBundleGeneratorBundle" in D:logicielwampwwwSymfonyappAppKernel.php line 28. Do you need to "use" it from another namespace?
作曲家有没有可能犯了错误或其他什么?我真的不知道如何解决这个问题
我遇到了同样的问题,并通过执行以下操作解决了它:
export SYMFONY_ENV=prod
澄清一下,运行composer update
真正解决问题。
这可能有点超出范围,但我想补充一下 Pogus 的答案,如果你使用 Ansible 来运行作曲家,你必须像这样提供这个 env 变量:
- name: "Install your app dependencies"
composer:
command: install
no_dev: yes
optimize_autoloader: yes
working_dir: "/your/app/dir"
environment: # <---- here
SYMFONY_ENV: prod # <---/
。或者以类似的方式阅读 Ansible 环境变量文档以了解详细信息。
设置它的地方/etc/profile.d/set-symfony-env-to-prod.sh
脚本将由服务器上运行的程序使用,但 Ansible 不会使用。