How do I install Composer on a shared hosting?
PhpComposer PhpPhp Problem Overview
I have these things:
- the file http://api.odtu.lu/composer.phar
- http://api.odtu.lu/phpinfo.php
- ftp access
- cPanel
- Cron jobs on FreeBSD
- PHP, Perl, CGI-BIN, Python, Curl.
How can I install Composer? (My aim is to install Restler)
Edit: I do not have SSH access.
Php Solutions
Solution 1 - Php
This tutorial worked for me, resolving my issues with /usr/local/bin permission issues and php-cli (which composer requires, and may aliased differently on shared hosting).
First run these commands to download and install composer:
cd ~
mkdir bin
mkdir bin/composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar bin/composer
Determine the location of your php-cli (needed later on):
which php-cli
(If the above fails, use which php
)
It should return the path, such as /usr/bin/php-cli, /usr/php/54/usr/bin/php-cli, etc.
edit ~/.bashrc and make sure this line is at the top, adding it if it is not:
[ -z "$PS1" ] && return
and then add this alias to the bottom (using the php-cli path that you determined earlier):
alias composer="/usr/bin/php-cli ~/bin/composer/composer.phar"
Finish with these commands:
source ~/.bashrc
composer --version
Solution 2 - Php
It depends on the host, but you probably simply can't (you can't on my shared host on Rackspace Cloud Sites - I asked them).
What you can do is set up an environment on your dev machine that roughly matches your shared host, and do all of your management through the command line locally. Then when everything is set (you've pulled in all the dependencies, updated, managed with git, etc.) you can "push" that to your shared host over (s)FTP.
Solution 3 - Php
I have successfully installed Composer (and Laravel) on my shared hosting with only FTP access:
-
Download and install PHPShell on a shared hosting
-
In PHPShell's
config.php
add a user and an alias:php = "php -d suhosin.executor.include.whitelist=phar"
-
Log in to PHPShell and type:
curl -sS https://getcomposer.org/installer | php
-
When successfully installed, run Composer:
php composer.phar
Solution 4 - Php
You can do it that way:
- Create a directory where you want to install composer (let's say /home/your_username/composer)
- Go to this directory -
cd /home/your_username/composer
- Then run the following command:
php -r "readfile('https://getcomposer.org/installer');" | php
-
After that if you want to run composer, you can do it this way (in this caseyou must be in the composer's dir):
php composer.phar
-
As a next step, you can do this:
alias composer="/home/your_username/composer/composer.phar"
.
And run commands like you do it normally: $ composer install
Hope that helps
Solution 5 - Php
I was able to install composer on HostGator's shared hosting. Logged in to SSH with Putty, right after login you should be in your home directory, which is usually /home/username, where username is your username obviously. Then ran the curl command posted by @niutech above. This downloaded the composer to my home directory and it's now accessible and working well.
Solution 6 - Php
SIMPLE SOLUTION (tested on Red Hat):
run command: curl -sS https://getcomposer.org/installer | php
to use it: php composer.phar
SYSTEM WIDE SOLLUTION (tested on Red Hat):
run command: mv composer.phar /usr/local/bin/composer
to use it: composer update
now you can call composer from any directory.
Source: http://www.agix.com.au/install-composer-on-centosredhat/
Solution 7 - Php
Most of the time you can't - depending on the host. You can contact the support team where your hosting is subscribed to, and if they confirmed that it is really not allowed, you can just set up the composer on your dev machine, and commit and push all dependencies to your live server using Git or whatever you prefer.