29

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

根据 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)路径 => /etc)

但是,也输出:detect_unicode => On => On

为什么 php.ini.default 没有加载我的设置,我怎么能有效地禁用detect_unicode?

4

5 回答 5

59

只需在命令后添加“-d detect_unicode=Off”

curl -s https://getcomposer.org/installer | php -d detect_unicode=Off
于 2012-12-24T04:56:50.993 回答
22

很可能根本没有加载任何ini文件,我不知道php是否看到/etc/php.ini.default。正如我在无法设置/查找 detect_unicode 中所说的那样- 您应该运行php -i | grep ini并检查实际加载了哪个文件,然后对其进行编辑。如果没有加载,请确保将 php.ini 文件放入Configuration File Path值中,在您的情况下/etc/php.ini似乎如此。

于 2012-07-03T07:54:19.400 回答
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

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

于 2012-09-28T13:31:18.007 回答
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 
于 2015-04-30T07:09:30.100 回答
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/

于 2013-10-13T03:36:58.483 回答