web-dev-qa-db-ja.com

php.iniの "detect_unicode"設定を無効にする方法は? (Composerをインストールしようとしています)

私のマシン(OS X 10.6)にComposer)をインストールしようとしましたが、これまでのところ成功していません。

Composer docsに従って、私はこれをターミナルで実行しました:

curl -s http://getcomposer.org/installer | php#!/ usr/bin/env php

そしてこれが出力です:

Detect_unicode設定を無効にする必要があります。 php.iniの最後に次を追加します。detect_unicode= Off

もちろん、これは私のphp.iniにあります。detect_unicode= Off、/ etc/php.ini.defaultにあります

php -infoは、php.iniファイルが/ etc /からロードされていることを通知します(出力は:構成ファイル(php.ini)パス=>/etc)

ただし、以下も出力します。detect_unicode=> On => On

Php.ini.defaultが私の設定を読み込まないのはなぜですか?

28
Nacho

ほとんどの場合noiniファイルがロードされていますが、phpによって/etc/php.ini.defaultが表示されているかどうかはわかりません。私が detect_unicodeをオフに設定/検索できない で言ったのと同じです-php -i | grep iniを実行し、実際にロードされているファイルを確認して編集します。何もロードされていない場合は、php.iniファイルをConfiguration File Pathの値に入れてください。あなたの場合は/etc/php.iniのようです。

22
Seldaek

コマンドの後に「-d detect_unicode = Off」を追加するだけです

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

OSXで/etcに移動します。

ターミナルを開きます。

>cd /etc
>nano php.ini.default

php.ini.defaultを編集します(detect_unicode = Offを挿入)。

ファイルを保存します。

次に、名前をphp.iniに変更します。

>mv /etc/php.ini.default /etc/php.ini

ターミナルを再起動すると、問題なく動作するはずです。

17
Michael Wabner

/usr/local/bin/php/php.iniファイルを変更できない場合は、次のようにすべてのphp呼び出しに「-d detect_unicode = Off」を使用し続けることを忘れないでください。

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

php -d detect_unicode=Off composer.phar install 
2
ShaTin

オンラインでいくつかの解決策がありますが、私が見つけた最も簡単な方法はスタックオーバーフローでした。問題は、PHP CLIがデフォルトで同じphp.iniをロードしないことであり、ほとんどのLinuxインストールとは異なり、別のphp-cli.iniがなく、/ etc/php.ini.defaultはそれほどロードされませんが、ランタイムパラメータとして渡すことができます。

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

ソース-> http://www.andrew-kirkpatrick.com/2012/10/install-composer-for-php-on-zend-server-mac-os-x/

0
a9un9hari