symfony - 如何在 Apache 中设置 Symfony3 环境
问题描述
我在我的开发机器上运行 Apache 2.4,所以我可以在本地测试代码。我如何告诉 Symfony 3.4 使用 'dev' 环境而不是 'prod' 环境?
我尝试浏览到http://localhost/app_dev.php,但这只是重定向到http://localhost/。看起来前端控制器是在 .htaccess 中设置的,但是如果我修改该文件,那么我的生产服务器将使用错误的前端控制器。
我已阅读以下页面上的文档,其中讨论了如何创建新环境,而不是如何设置默认环境。
https://symfony.com/doc/3.4/configuration/environments.html
https://symfony.com/doc/3.4/setup/web_server_configuration.html
我在 Windows 10 上运行 Apache 2.4,这是我的虚拟主机配置
<VirtualHost *:80>
ServerName example.local
DocumentRoot "C:\Users\kento\PhpstormProjects\example\web"
<Directory "C:\Users\kento\PhpstormProjects\example\web">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
DirectoryIndex app_dev.php
</Directory>
ErrorLog "logs/example-error.log"
CustomLog "logs/example-access.log" common
</VirtualHost>
example.local 在我的 hosts 文件中指向 127.0.0.1。我设置DirectoryIndex
为 app_dev.php 但这似乎被 .htaccess 文件覆盖。
解决方案
您已经将 vhost 设置为使用 app_dev.php,但随后您允许 .htaccess 使用 .htaccess 覆盖AllowOverride All
。将其更改为AllowOverride None
.htaccess 将被忽略。
可能有一些配置可以从那里合并到虚拟主机中。
我倾向于更喜欢虚拟主机中的所有配置,并且不使用任何 .htaccess 文件,以提高速度 - 特别是在生产中。
推荐阅读
- javascript - 如果两个div的匹配保持隐藏,如何制作?
- powershell - 如何使用 PowerShell 显示 Unicode 字符名称及其十六进制代码?
- jsp - 我收到此错误:java.sql.SQLIntegrityConstraintViolationException: Duplicate entry '1' for key 'employee.PRIMARY'
- arrays - 如何从char数组中提取数字并将它们相加
- python-3.x - 使用 Python RDFLib 解释 .ttl 文件中的链接数据的工作流程
- python - Python海龟赛重启功能
- docker - 带有 consul 和 docker swarm EE 的服务网格
- ejabberd - Ejabberd STUN 问题:未知模块 mod_stun_disco 无法启动
- bash - 使用一行 shell 命令编辑 dhcpd.conf 文件
- java - 将通配符传递给进程构建器