我正在运行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"。
答案 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