Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use PHP Composer on HostGator

I recently decided to start a project in Zend Framework 2 and was having trouble getting it to run on a HostGator shared server.

By default, HostGator's shared servers run in PHP 5.2.2 and if you upload the ZF2 Skeleton Application, it will not run out of the box.

Also, if you happen to have SSH access to your HG Shared account (You usually have to request it), you won't be able to run .PHAR files because the CLI version of PHP is also 5.2.2.

Luckily, I got it to work... see below.

like image 281
Zach Avatar asked Dec 14 '12 23:12

Zach


People also ask

Can I use Composer in cPanel?

Your cPanel account must possess SSH access in order to use Composer.

How does PHP Composer work?

Composer is a dependency manager for PHP. Composer will manage the dependencies you require on a project by project basis. This means that Composer will pull in all the required libraries, dependencies and manage them all in one place.


2 Answers

There is an option in Hostgator CPanel. Just go to PHP Configuration and choose one of PHP versions. Now you can choose between 5.2, 5.3, 5.4 and 5.5.

like image 23
Michael Yakovis Avatar answered Sep 22 '22 12:09

Michael Yakovis


First off, you can enable PHP 5.3 on HostGator on a directory level basis. Simply add the following line to the .htaccess file in your public directory:

AddType application/x-httpd-php53 .php reference link

Ba-Da-Bing! Now you can run your PHP 5.3 applications!

Oh, but wait! You have SSH access and want to use PHP Composer?
If you log in via SSH and try the following command: # php composer.phar install you will get the following error: Fatal error: Class 'Phar' not found in...

This is because HostGator's # php command runs in 5.2.2. To run in 5.3, you need to provide the full path to the 5.3 binary.

Here's the working command:
# /opt/php53/bin/php composer.phar install

I was so excited that I got this working that I figured I would share!

like image 155
Zach Avatar answered Sep 21 '22 12:09

Zach