如何从php.ini中禁用“detect_unicode”设置? (尝试安装Composer)

时间:2012-07-02 23:33:04

标签: php composer-php

我一直试图在我的机器上安装Composer(OS X 10.6),但到目前为止还没有成功。

根据Composer文档,我在终端执行了这个:

  

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告诉我正在从/ etc /加载php.ini文件(输出是:配置文件(php.ini)Path => / etc)

但是,还有输出:detect_unicode => On =>上

为什么php.ini.default没有加载我的设置?如何禁用有效的detect_unicode?

5 个答案:

答案 0 :(得分:58)

在命令

之后添加“-d detect_unicode = Off”
curl -s https://getcomposer.org/installer | php -d detect_unicode=Off

答案 1 :(得分:22)

很可能没有 ini文件正在被加载,我不知道是否可以通过php看到/etc/php.ini.default。与我在Can't set/find detect_unicode to Off中所说的相同 - 您应该运行php -i | grep ini并检查实际加载的文件,然后进行编辑。如果没有加载,那么请确保将php.ini文件放入Configuration File Path值,在您看来/etc/php.ini的情况下。

答案 2 :(得分:17)

在OSX下,转到/etc

打开终端。

>cd /etc
>nano php.ini.default

修改php.ini.default(插入detect_unicode = Off)。

保存文件。

现在将其重命名为php.ini

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

重新启动终端,然后它应该可以正常工作。

答案 3 :(得分:2)

如果您无法更改/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 

答案 4 :(得分:0)

网上有一些解决方案,但我发现最简单的是Stack Overflow。问题是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/