Install Composer for PHP with detect_unicode = Off as a php.ini file does not exist

If you are having problems installing Composer, using the method mentioned on their website:

curl -s https://getcomposer.org/installer | php

You may get an error like the following (which will be because PHP CLI may have a different php.ini or not be present at all)

#!/usr/bin/env php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:

The detect_unicode setting must be disabled.
Add the following to the end of your `php.ini`:
detect_unicode = Off

There are a few solutions online, but the easiest I found was on Stack Overflow. The problem is that the PHP CLI doesn’t load the same php.ini by default, and unlike on most Linux installations there isn’t a seperate php-cli.ini and seemingly /etc/php.ini.default doesn’t load so much. You can pass it as a runtime parameter though:

curl -s getcomposer.org/installer | php -d detect_unicode=Off

 

51 comments