Symfony4 deploy to shared hosting

后端 未结 2 786
予麋鹿
予麋鹿 2021-01-03 17:07

I\'m using symfony4. Everything works in dev. But there is less tutorial for prod. How to deploy tutorial provides only less info (No info about shared hosting)

Ind

相关标签:
2条回答
  • 2021-01-03 17:21

    I'm using apache server for production (Shared hosting). The easy thing is edit .htaccess file.

    Add this at the bottom of .htaccess file

    # ENVIRONMENT VARIABLES
    SetEnv APP_ENV prod
    SetEnv APP_SECRET 79cfa09223f91b1a195134019e0b17ac
    

    This will solve the question.


    These are the things I faced personaly, so to help someone,

    And sometimes symfony4 throws error on php7.2 servers. To solve this, in .htaccess file add the following code,

    # php -- BEGIN cPanel-generated handler, do not edit
    # Set the “ea-php72” package as the default “PHP” programming language.
    <IfModule mime_module>
      AddType application/x-httpd-ea-php72 .php .php7 .phtml
    </IfModule>
    # php -- END cPanel-generated handler, do not edit
    

    This code automatically generated by my server. I think someone needs this.


    At first I tried to deploy my app without .htaccess file. But this throws error, no output in production server. I tried to switch php and finally i saw the above code generated by server itself and later I added the setenv to work with symfony4.

    0 讨论(0)
  • 2021-01-03 17:38

    You need the .env file that is on the server to have APP_ENV=prod The .env file is for the specific machine, it is ignored by git, while .env.dist is tracked. So edit the .env.dist and commit it.

    Put your project in the same dir as public_html as a sibling. Then remove the public_html dir and recreate it as a symlink pointing to your project public dir.

    Rename .env.dist to .env.

    Run composer require symfony/apache-pack it will create the .htaccess file and you should be good.

    Worked for me on A2hosted server.

    Update 2019-06-28

    Just deployed to Bluehost, they finally upgraded to PHP 7. I deployed into a sub-domain using the same process as above except one change. I had to add the following line to the public/.htaccess file generated by apache-pack in order to enable PHP 7.1

    AddHandler application/x-httpd-ea-php71 .php
    
    0 讨论(0)
提交回复
热议问题