web-dev-qa-db-ja.com

Composer-拡張iconvがありません

Manjaro linuxを実行していて、Apache2.4.10-1をphp5.5.15-1およびphp-composer1.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」が出力されます。

13
Tanadche

だから私はcomposerがに保存されている異なるphp設定ファイルを使用していることを知りました

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

そこに次の行を追加しました

extension=iconv.so

そして、すべてが機能します!

17
Tanadche

私はこの問題を解決しました

ext=iconv

/etc/php/ini.phpでmanjarolinuxでの作業

6
darioxlz

Centos7のWHMではそれは私のために働いた。

yum install ea-php72-php-iconv

php72の代わりに、phpバージョンを置き換えることができます。

2
Ahmet Uğur

PHPBrew を使用している場合は、次のコマンドを実行してiconv拡張機能をインストールします。

phpbrew ext install iconv
0
yesnik