Saqib Mustafa Abbasi
Saqib Mustafa Abbasi

Reputation: 158

Deploy Symfony 2.7 on shared hosting without SSH

Good day friends, I know that similar questions exist for deploying a Symfony 2.7 application on shared hosting with CPanel. But in my case I do not have access to SSH. Therefore installing via Composer is out of question.

To work around it I have copied the entire sources into a sub folder in "public_html" folder. When I try to configure Symfony using "web/config.php" it gives some pre-requisites issues. To resolve this I have copied custom "php.ini" in my sub folder and also added the ".htaccess" file to root of "home/user" with following content

SetEnv PHPRC /home/user/public_html/subfolder/php.ini

But still the setting is not taking affect. Do i need to ask the hosting provider to restart the web server ? this wont be easy since it is shared hosting.

Please suggest any alternative way

Upvotes: 1

Views: 897

Answers (1)

chalasr
chalasr

Reputation: 13167

Your custom .htaccess is not used by the application.

Try to add the SetEnv in the public_html/web/.htaccess that is used to browse your application.

If this has no effect, a working way is to add the following in the VirtualHost of your application:

<VirtualHost *:80>
    PHPINIDir /home/user/public_html/subfolder/php.ini
</VirtualHost>

But that involves to restart apache once.

EDIT

If PHP run as CGI:

Create a wrapper script called phpini.cgi to export the directory that contains the php.ini file as PHPRC.

#!/bin/sh
export PHPRC=/home/user/public_html/subfolder
exec /path/to/cgi-bin/php5.cgi

In your /home/user/public_html/web/.htaccess add the following lines:

AddHandler php-cgi .php
Action php-cgi /cgi-bin/phpini.cgi

If php run as CGI with wrapper (for FASTCGI):

You should already have the following wrapper script:

#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec /path/to/cgi-bin/php5.cgi

Change it to:

#!/bin/sh
export PHP_FCGI_CHILDREN=3
exec /path/to/cgi-bin/php.cgi -c /home/user/public_html/subfolder/php.ini

More informations and alternatives in the source.

I hope this solves your problem, it should if you are sure you are php run as cgi/fast-cgi.

Upvotes: 0

Related Questions