在部署Symfony 4之后,我遇到了几个错误。仅主页工作,当尝试导航到另一个页面时,Web服务器返回404,数据库连接具有额外的行为,未连接到数据库...在开发环境中一切正常,但是当我进入PROD时,全部失败。在服务器中,在端口8000中启用本地symfony应用服务器,在开发环境中一切正常。我已经按照https://symfony.com/doc/current/deployment.html中的所有步骤进行操作,但是无法使该应用程序在PROD中正常运行。
请帮助
BR
答案 0 :(得分:0)
我无法发表评论,因为少于50个声誉,这就是为什么我回答:
您必须这样做:
清除缓存 热身产品缓存 (我认为您已经完成了?)
接下来,安装apache配置:
composer require symfony/apache-pack
这将创建您必须编辑的apache配置文件。 您在此处找到的描述:Symfony- Configuring Webserver
(我认为缺少.htaccess会导致错误) 尝试:yourhost / projectFolder / public 如果将显示您的站点,请确保服务器配置错误或缺少.htaccess。
答案 1 :(得分:0)
这是因为您缺少重写规则.htaccess文件,这是经过测试的有效解决方案:
在您的项目目录运行中,这将为您在项目目录中创建.htaccess
sudo composer require symfony/apache-pack
然后在apache虚拟配置文件中修改/添加虚拟主机指令。
for Windows Xampp it is here -> C:\xampp\apache\conf\extra\httpd-vhosts.conf
for Linux default Ubuntu it is here -> /etc/apache2/sites-enabled/yoursite.conf
这是Windows Xampp上的外观
<VirtualHost 127.0.0.1:80>
DocumentRoot "C:\xampp\htdocs\final\public"
DirectoryIndex index.php
<Directory "C:\xampp\htdocs\project\public">
#AllowOverride All # for older version of apache less than 2.4
#Order Allow,Deny # for older version of apache less than 2.4
#All from All # for older version of apache less than 2.4
Require all granted
</Directory>
</VirtualHost>
这是在Linux上的样子
<VirtualHost *:80>
ServerName company.com
DocumentRoot /var/www/company.com/web
<Directory /var/www/company.com/web>
Options Indexes FollowSymlinks
AllowOverride All
# Use these 2 lines for Apache 2.3 and below
##Order allow,deny
##allow from all
# Use this line for Apache 2.4 and above
Require all granted
</Directory>
ErrorLog /var/log/apache2/events_error.log
CustomLog /var/log/apache2/events_access.log combined
重新启动Apache
sudo service restart apache2
完成,应该可以正常工作!