Phpコマンドを実行するたびにhomebrew php55を使用するMac OSX Mavericksでは、次のエラーメッセージが表示されます(すべて正常に実行されますが、迷惑です)
PHP Warning: Module 'intl' already loaded in Unknown on line 0
走った
php --ini
出力は
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
Php.iniファイルをチェックインし、intlがロードされる唯一の場所は上部にあり、コメント化されています。他のファイルの内容は次のようになります。
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
ここで、最後のスラッシュの後の内容は拡張子です。
他にどこを見ればいいのか分かりません。
どんな助けでも大歓迎です
MacでもWarning: Module 'pdo_pgsql' already loaded in Unknown on line 0
という同じ問題がありました。解決方法は次のとおりです。
conf.d
を見つけます。私のものは/usr/local/etc/php/7.0/conf.d
ディレクトリにありました。ext-pdo_pgsql.ini
と呼ばれるfileがあります。Sudo nano ext-pdo_pgsql.ini
と入力して編集します。extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
があるはずです。行の先頭にセミコロンを追加してコメントアウトします(例:;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
)。これが誰かを助けることを願っています。
/ etc/php2/conf.dディレクトリ(少なくともUbuntuの場合はそうです)に、phpの実行時にすべて読み込まれる一連の.iniファイルが必要です。これらのファイルには、php.ini
の設定と競合する重複した設定を含めることができます。 PHPのインストールで、conf.d/20-intl.ini
設定のextension=intl.so
ファイルが見つかりました。それがあなたの対立だと思います。
この問題を修正するには、php.ini(またはextensions.ini)ファイルを編集し、既にコンパイルされている拡張機能をコメントアウトする必要があります。たとえば、編集後、iniファイルは次の行のようになります。
;extension=pcre.so
;extension=spl.so
Fedora Server 24(PHP 5)から25(PHP 7)調査後、/etc/php.d/
には2つの異なる.ini
ファイルがextension=geoip.so
をロードしていることがわかりました。
旧バージョンのディストリビューションでは、このファイルの名前は50-geoip.ini
でしたが、最近のファイルは40-geoip.ini
に変更されました。 。
それが問題の実際のケースでした。 50-geoip.ini
から浮遊/etc/php.d/
を削除し、httpd
を再起動すると、問題なく動作しました。
/etc/php5/cli/conf.dの20-mongo.iniファイルを削除し、問題を解決しました。
私の場合、php.iniに; extension = php_curl.soがありませんでしたが、Ubuntuはすでにこの拡張機能を別の場所で呼び出していました。
この「どこか別の場所」を見つけるには、php.iniで通知します。私の場合:/etc/php/7.1/Apache2/conf.d/20-curl.iniがパスでした。
そこで、このファイル(ターミナル)を編集します。
Sudo nano /etc/php/7.1/Apache2/conf.d/20-curl.ini
; extension = php_curl.soにコメントします
ファイルを保存してApacheを再起動します。
Sudo systemctl restart Apache2
872および968の番号行には、php.iniファイル内に2つの「php_intl.dll」ファイルがあります。 if php警告モジュール 'intl'は0行目の不明で既にロードされていますこのメッセージはCLIに焦点を当てています。その後、行872のセミクローンプレフィックスを削除する必要があります。
共有ホスティング(cPanel)にいる他の人を助けるかもしれない記録のためだけに。
共有ホスティングphp7.2でエラーが発生しました:モジュール 'imagick'は、行0で不明に既にロードされています
最初のホスティングプロバイダーは、それが私の悪い構成(Yii2.16を実行している)であると言っていました。しかし、私がそれらを示した後、すべてのインターネットがこの問題をサーバー構成に関連付けていることがわかりました-彼らは私に耳を傾け始めました。私が証明した後、php7.1にエラーがないことを確認し、エラーの検索を開始しました。
彼らが私に言ったように-エラーはPerlモジュールまたはPEARパッケージの設定によるものでしたが、本当の問題を私に教えませんでした。
そのため、共有ホスティングを使用している場合は、プロバイダーに問い合わせて、PHPバージョンを試してください(変更できる場合)。
php.ini
のこれら2行をコメントアウトします
;extension=imagick.so
;extension="ixed.5.6.lin"
問題が修正されるはずです。