gpt4 book ai didi

php - Symfony 4 不从 vHost 配置中获取环境变量

转载 作者:行者123 更新时间:2023-12-04 01:57:41 24 4
gpt4 key购买 nike

我目前正在使用 Raspbian 9 在 RaspberryPi 上设置网络服务器,并希望在其上部署一个高效的 Symfony4 网页。

对于这种情况,我在 Apache2 中创建了一个 vHost 文件,其中包含所需的环境变量。但是当我执行“composer install --no-dev”(因为我不想使用 dotenv)时,我收到错误“PHP fatal error :未捕获的 RuntimeException:未定义 APP_ENV 环境变量。您需要为配置定义环境变量或添加“symfony/dotenv”作为 Composer 依赖项以从 .env 文件加载变量。

当在 Symfonys 公共(public)文件夹中创建一个 test.php 文件并查询“echo $_SERVER['APP_ENV']”时,我得到了正确设置的“prod”变量。

感谢您的帮助!

附上匿名虚拟主机文件:

<VirtualHost *:80>
ServerName gate.keeper
ServerAlias www.gate.keeper

DocumentRoot /var/www/gk3/public
<Directory /var/www/gk3/public>
AllowOverride None
Order Allow,Deny
Allow from All

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
</Directory>

# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeeScript assets
# <Directory /var/www/gk3>
# Options FollowSymlinks
# </Directory>

# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/gk3/public/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/gk3_error.log
CustomLog /var/log/apache2/gk3_access.log combined

# optionally set the value of the environment variables used in the application
SetEnv APP_ENV "prod"
SetEnv APP_SECRET "secret"
SetEnv DATABASE_URL "mysql://user:password@localhost:3306/db_name"
</VirtualHost>

最佳答案

当您在终端中运行 composer 命令时,您是在命令行环境中访问 PHP,并且您不会通过 Apache 以及您在 VirtualHost 中所做的任何配置。

也就是说,您需要在执行 composer install --no-dev 之前运行以下命令以设置 APP_ENV 值:

export APP_ENV=prod

关于php - Symfony 4 不从 vHost 配置中获取环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49448332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com