我正在运行 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 -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”。
最佳答案
所以我发现, Composer 使用不同的 php 配置文件,该文件存储在
/usr/share/php-composer/php.ini
我刚刚添加了以下行
extension=iconv.so
一切正常!
关于php - Composer - 缺少扩展 iconv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25122037/