17

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

我想通过这个命令用 composer 下载项目

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 -mi 时,在列表中看到 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

4 回答 4

21

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

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

我刚刚添加了以下行

extension=iconv.so

一切正常!

于 2014-08-05T13:45:48.850 回答
11

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

ext=iconv

在 /etc/php/ini.php 在 manjaro linux 上工作

于 2019-02-03T20:17:28.373 回答
6

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

yum install ea-php72-php-iconv

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

于 2019-06-10T17:02:27.877 回答
2

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

phpbrew ext install iconv
于 2019-08-11T13:18:17.750 回答