Symfony 4-产品部署失败

时间:2019-07-06 18:08:49

标签: symfony4

在部署Symfony 4之后,我遇到了几个错误。仅主页工作,当尝试导航到另一个页面时,Web服务器返回404,数据库连接具有额外的行为,未连接到数据库...在开发环境中一切正常,但是当我进入PROD时,全部失败。在服务器中,在端口8000中启用本地symfony应用服务器,在开发环境中一切正常。我已经按照https://symfony.com/doc/current/deployment.html中的所有步骤进行操作,但是无法使该应用程序在PROD中正常运行。

请帮助

BR

2 个答案:

答案 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

完成,应该可以正常工作!

来源:https://www.youtube.com/watch?v=OVbErFBUinI