Composer - Extension iconv 缺失

2022-08-30 21:49:55

我正在运行Manjaro linux,并且我已经安装了带有php 5.5.15-1和php-composer 1.0.0.alpha8.458-1的apache 2.4.10-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时,我看到图标与其他模块一起在列表中

任何想法哪里可能有问题?

编辑:当我从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”。


答案 1

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

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

在那里,我刚刚添加了以下行

extension=iconv.so

一切都管用!


答案 2

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

ext=iconv

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


推荐