Composer - 缺少扩展iconv

时间:2014-08-04 15:18:25

标签: php apache composer-php iconv nette

我正在运行Manjaro linux,我已经安装了apache 2.4.10-1和php 5.5.15-1以及php-composer 1.0.0.alpha8.458-1。

我想用这个命令用作曲家下载项目

composer create-project nette/sandbox TaskManager

但我在使用ext-iconv

时遇到错误
- nette/neon v2.2.1 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.
- nette/nette v2.2.0 requires ext-iconv * -> the requested PHP extension iconv is missing from your system.

但在我的php.ini中,我启用了iconv扩展

extension=iconv.so
.
.
[iconv]
iconv.input_encoding = ISO-8859-1
iconv.internal_encoding = ISO-8859-1
iconv.output_encoding = ISO-8859-1

在我的php脚本中,我可以毫无问题地使用iconv函数。

当我运行php -m时,我会在列表中看到带有其他模块的iconv

知道哪里可能有问题?

修改: 当我从cli运行php -i时,我得到了这个:

Configuration File (php.ini) Path => /etc/php
Loaded Configuration File => /etc/php/php.ini
Scan this dir for additional .ini files => /etc/php/conf.d
Additional .ini files parsed => (none)

在此配置文件中启用了iconv。

即使我跑

php -d error_reporting=E_ALL -r 'echo iconv("UTF-8", "ASCII//TRANSLIT", "Žluťoučký kůň\n");'

它正确执行并打印" Zlutoucky kun"。

4 个答案:

答案 0 :(得分:13)

所以我发现,作曲家使用不同的php配置文件,存储在

/usr/share/php-composer/php.ini

我刚刚添加了以下行

extension=iconv.so

一切正常!

答案 1 :(得分:2)

我解决了这个问题,取消了注释

ext=iconv
在/etc/php/ini.php中的

在manjaro linux上工作

答案 2 :(得分:0)

在Centos7上的WHM中,它对我有用。

yum install ea-php72-php-iconv

您可以替换php版本,而不是 php72

答案 3 :(得分:0)

如果您使用的是PHPBrew,请运行以下命令来安装iconv扩展名:

phpbrew ext install iconv