web-dev-qa-db-ja.com

PHP警告:モジュールはすでに行0で不明にロードされています

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"

ここで、最後のスラッシュの後の内容は拡張子です。

他にどこを見ればいいのか分かりません。

どんな助けでも大歓迎です

48
Drew Landgrave

Xdebug はおそらく php.ini で2回ロードしたと思います。

  1. php.iniを確認します。値xdebug.soおよびextension=についてzend_extension=がないことを確認してください。

  2. /etc/php5/Apache2および/etc/php5/cli/も確認してください。このディレクトリの各php.iniに拡張子xdebug.soをロードしないでください。 1つのファイルphp.iniのみをロードする必要があります。

49
bueltge

MacでもWarning: Module 'pdo_pgsql' already loaded in Unknown on line 0という同じ問題がありました。解決方法は次のとおりです。

  • folderconf.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")。
  • ファイルを保存します。 (私は通常control + Ocontrol + Mを実行します)。
  • ファイルを終了します(control + X)。

これが誰かを助けることを願っています。

14
Allan Mwesigwa

/ etc/php2/conf.dディレクトリ(少なくともUbuntuの場合はそうです)に、phpの実行時にすべて読み込まれる一連の.iniファイルが必要です。これらのファイルには、php.iniの設定と競合する重複した設定を含めることができます。 PHPのインストールで、conf.d/20-intl.ini設定のextension=intl.soファイルが見つかりました。それがあなたの対立だと思います。

4

この問題を修正するには、php.ini(またはextensions.ini)ファイルを編集し、既にコンパイルされている拡張機能をコメントアウトする必要があります。たとえば、編集後、iniファイルは次の行のようになります。

;extension=pcre.so
;extension=spl.so

ソース: http://www.somacon.com/p520.php

4
J.C. Gras

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を再起動すると、問題なく動作しました。

1
Ilia Rostovtsev

/etc/php5/cli/conf.dの20-mongo.iniファイルを削除し、問題を解決しました。

1
Laith

私の場合、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
1

872および968の番号行には、php.iniファイル内に2つの「php_intl.dll」ファイルがあります。 if php警告モジュール 'intl'は0行目の不明で既にロードされていますこのメッセージはCLIに焦点を当てています。その後、行872のセミクローンプレフィックスを削除する必要があります。

0
ashik

共有ホスティング(cPanel)にいる他の人を助けるかもしれない記録のためだけに。

共有ホスティングphp7.2でエラーが発生しました:モジュール 'imagick'は、行0で不明に既にロードされています

最初のホスティングプロバイダーは、それが私の悪い構成(Yii2.16を実行している)であると言っていました。しかし、私がそれらを示した後、すべてのインターネットがこの問題をサーバー構成に関連付けていることがわかりました-彼らは私に耳を傾け始めました。私が証明した後、php7.1にエラーがないことを確認し、エラーの検索を開始しました。

彼らが私に言ったように-エラーはPerlモジュールまたはPEARパッケージの設定によるものでしたが、本当の問題を私に教えませんでした。

そのため、共有ホスティングを使用している場合は、プロバイダーに問い合わせて、PHPバージョンを試してください(変更できる場合)。

0
sanka

php.iniのこれら2行をコメントアウトします

;extension=imagick.so
;extension="ixed.5.6.lin"

問題が修正されるはずです。

0
Pratik