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

 

9 Comments

  • Thanks a lot, I was looking for this solution in the last couple of hours this evening.

  • Thank you for this solution. You saved me hours of possibly pulling my hair out :)

  • Thanks for this solution. Worked perfectly for me.

  • Life saver. Thanks a ton

  • THANK YOU, Works great!! Hats off

  • Thank you!

  • [...] でも、エラーになる。調べるとこれでイケそうなので、再度挑戦してうまくいく。 参考リンク: Install Composer for PHP with detect_unicode = Off as a php.ini file does not exist [...]

  • You rock! Many thanks for this simple work around.

  • Indeed, very helpful!

Leave a comment

Twitter