1. ホーム
  2. composer-php

[解決済み] コンポーザーです。要求された PHP 拡張 ext-intl * がシステムから欠落しています。

2023-01-22 08:07:42

質問

私は composer.json ファイルを使おうとしていますが、コマンド ' composer install を実行しようとすると path/project/ を使用すると、エラーが発生します。

私はすでに wamp には extension=php_intl.dll をコピーし、すべての icu*.dll を' D:\wamp\bin\apache\apache2.2.22\bin から' D:\wamp\bin\php\php5.3.13 に表示され、それが phpinfo() :

<イグ

コピーなし icu*.dll でも動作し、表示されます。 phpinfo() ;

親切に、もし私が intl をインストールしてください。 wamp composer install を私のPCに追加すると、なぜこのエラーが発生します。本当に、それはとても迷惑です。

以下は私の詳細です。

  1. OS: Windows 7 (64)
  2. PHP。5.3.13
  3. Apache:2.2.22
  4. Composer: 実行ファイルによってインストールされます。
  5. Pear: インストール済み (最新)
  6. PHPUnit: インストール済み (最新)

私の composer.json は以下の通りです。

{
    "name" : "sebastian/money",
    "description" : "Value Object that represents a monetary value (using a currency's smallest unit)",
    "keywords" : ["money"],
    "homepage" : "http://www.github.com/sebastianbergmann/money",
    "license" : "BSD-3-Clause",
    "authors" : [{
            "name" : "Sebastian Bergmann",
            "email" : "[email protected]"
        }
    ],
    "require" : {
        "php" : ">=5.3.3",
        "ext-intl" : "*"
    },
    "require-dev" : {
        "phpunit/phpunit" : "~4.0"
    },
    "autoload" : {
        "classmap" : [
            "src/"
        ]
    },
    "extra" : {
        "branch-alias" : {
            "dev-master" : "1.3.x-dev"
        }
    }
}

他の詳細が必要な場合は、私に知らせてください...

何かご意見・ご感想がありましたら、よろしくお願いします。

どのように解決するのですか?

PHP は、コマンドライン php と Web/apache php で異なる php.ini を使用します。そのため、ブラウザの phpinfo() では intl 拡張子が表示されますが、もしあなたが php -m を実行すると、拡張子のリストにintlが含まれていないことがわかります。

を使って確認することができます。 php -i を使って確認することができます。その ini ファイルで intl 拡張を有効にすることを確認すれば、うまくいくはずです。

php.ini 5.6 バージョンの場合 (php -v でバージョンを確認)

;extension=php_intl.dll 
; remove semicolon
extension=php_intl.dll

php.ini 7.*バージョン用

;extension=intl
; remove semicolon
extension=intl