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」が出力されます。
だから私はcomposerがに保存されている異なるphp設定ファイルを使用していることを知りました
/usr/share/php-composer/php.ini
そこに次の行を追加しました
extension=iconv.so
そして、すべてが機能します!
私はこの問題を解決しました
ext=iconv
/etc/php/ini.phpでmanjarolinuxでの作業
Centos7のWHMではそれは私のために働いた。
yum install ea-php72-php-iconv
php72の代わりに、phpバージョンを置き換えることができます。
PHPBrew を使用している場合は、次のコマンドを実行してiconv
拡張機能をインストールします。
phpbrew ext install iconv