Most of my clients are on shared hosting. I advise the start-ups I work with to start on a good, respectable (just about anything besides GoDaddy or HostGator) shared hosting and save the expense.
I’ve heard some people say they can’t use Symfony on their shared hosting because Symfony requires command line access to use the tools. You may not be able to use these tools on your online hosting, but I usually build the site locally where I can use the tools and then ftp the files that are needed to the shared hosting account.
The next obstacle is the architecture and folder layout of symfony. Most shared hosting accounts use a different name for their
web folder. Symfony2 makes this easy by allowing you to change the name of the folder without any problems.
If you move the
web folder then you will need to change the paths to this folder in the front controller. I don’t suggest, however, that you put the
vendor folders inside the web folder since this opens them up to the public.
If your shared hosting uses
cpanel. Just change your local
web folder name to
public_html. FTP everything from that local
public_html folder to the shared hosting
public_html folder when you are ready to deploy. Then FTP the
vendor folders from your local machine to the root folder of your shared hosting – usually the folder containing the
As long as your
public_html folder is in the same folder with your
vendor folders you shouldn’t have to change anything. If they aren’t then you will need to change the paths to these files in your front controller.
Each time you FTP changes to your server you should clear the cache for your production environment. Assuming you are using
prod for your production environment, you can just delete the
app/cache/prod folder and all it’s contents. Then pull your site up in your browser and the cache will be rebuilt.
Anytime the cache needs to be cleared, you can just delete the
app/cache/prod folder and pull up the site in your browser.
Everything should work fine on your shared hosting assuming the hosting provider has the resources required for Symfony 2.