CakePHPドキュメントを使用して、composerを使用して3.0-beta2をインストールしようとしていますが、このエラーが発生しました:
cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system
ただし、intlがインストールされていることは確かです(phpinfoに表示されます)。 PHP 5.4.33/Apache 2.4.10.1を使用しています
今日も同じ問題に直面しました。 PHP構成(.ini
)でintlPHP拡張を有効にする必要があります。
Solution Xampp(Windows)
/xampp/php/php.ini
を開きます;extension=php_intl.dll
をextension=php_intl.dll
に変更します(セミコロンを削除します)/xamp/php/ic*.dll
ファイルを/xampp/Apache/bin
にコピーしますソリューション Linux(Annamalai Somasundaramに感謝)
Php5-intl拡張機能Sudo apt-get install php5-intl
をインストールします
1.1。または、CentOSまたはFedoraを使用している場合は、Sudo yum install php5-intl
を使用します。
Apache Sudo service Apache2 restart
を再起動します
ソリューション Mac/OSX (homebrew)(deizelに感謝)
brew install php56-intl
をインストールしますNo available formula for php56-intl
を取得した場合は、 これら の指示に従ってください。Sudo apachectl restart
を再起動します最終的にcomposer install
を実行して、機能しているかどうかを確認できます。そうでない場合はエラーになります。
私はubuntu 12.04で同じ問題に直面しました
インストール済み:Sudo apt-get install php5-intl
Apache: Sudo service Apache2 restart
を再起動しました
OS X Homebrew(2015年5月):
intl
拡張がメインのphp5x
式から削除されたため、--enable-intl
フラグを使用してコンパイルすることはできなくなりました。
新しいパッケージが見つからない場合:
$ brew install php56-intl
Error: No available formula for php56-intl
次の手順に従ってください: https://github.com/Homebrew/homebrew-php/issues/1701
$ brew install php56-intl
==> Installing php56-intl from homebrew/homebrew-php
MAMPを使用する場合
1ターミナルに移動
vim ~/.bash_profile
i
export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH
Php5.6.2をMAMPで使用するphpバージョンに変更します
Escキーを押し、:wq
と入力してEnterキーを押します
source ~/.bash_profile
どのphp
2 Macポートのインストール
https://www.macports.org/install.php
Sudo port install php5-intl
またはSudo port install php53-intl
cp /opt/local/lib/php/extensions/no-debug-non-zts-20090626/intl.so /Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/
{take a good look at the folder names that u use the right ones}
3拡張機能を追加
次に、php.ini
ファイルに拡張子を追加します。
extension=intl.so
短い答え:php_cli.iniでintl拡張機能を有効にします。入力してくれた@ndmに感謝します。
エラーメッセージには、問題の内容が明確に記載されています。 intl拡張機能がインストールされている必要があります。
ステップ1:PHP intl you comfortable versionをインストールします
$ Sudo apt-get install php-intl
ステップ2:
XAMPPサーバーのintl拡張機能がすでにインストールされている場合、この拡張機能を有効にして、php.iniファイルの行の下でコメントを解除する必要があります。 Php.iniファイルはc:\ xampp\php\php.iniまたはXAMPPをインストールした場所にあります。
コメントを外す前:
; extension = php_intl.dll; extension = php_mbstring.dll
コメント解除後:
extension = php_intl.dll extension = php_mbstring.dll
Ubuntuターミナルの場合:
手順に従ってください:
ステップ-1:
cd〜
ステップ-2:次のコマンドを実行します
Sudo apt-get install php5-intl
ステップ-3:その後、Apacheを再起動する必要があります
SudoサービスのApache2の再起動
Windows(XAMPP)の場合:
Php.iniファイルを見つけます。
/ xampp/php/php.ini
以下に示すように、削除(;)セミコロンでphp.iniファイルを更新します。
; extension = php_intl.dll to extension = php_intl.dll
php.iniファイルを保存します。
その後、あなたはする必要があります
xamppコントロールを使用してxamppを再起動します。
私の場合、私の実行中のphpバージョンはmac OSXで7.1.xです。 intlコマンドをbrew install php71-intlを使用してインストールしました。 extension = intl.soをphp.ini内に配置しても効果はありません。最後に、拡張機能がインストールされたディレクトリを探し、そこでintl.soを見つけ、そのパスを配置しました(extension =/usr/local/Cellar/php71-intl/7.1.11_20/intl.so) to to- php.iniファイルで問題が解決しました。
私の場合、実際にcakephpをローカルで実行しようとしていませんでしたが、composerを使用してローカルで自動更新するようにしようとしていました(composerでインストールするプラグインを書いているので)。実際にはローカルで実行することすらないので、--ignore-platform-reqsフラグを追加することで要件を無視することができます。
php composer.phar update --ignore-platform-reqs
最新バージョンのUbuntu 16.04以降を使用している場合は
Sudo apt-get install php-intl
次に、Apacheを再起動します
Sudo service Apache2 restart
私はMac OS High Sierraを使用していますが、これらはどれもうまくいきませんでした。しかし、多くを検索した後、私は働いたものを見つけました!
これは些細なことのように思えるかもしれませんが、実際には約2か月前に一部の賢い人がbrewリポジトリに変更を加えたため、次のようにするとbrew install php71-intl
はそのようなレシピが存在しないというメッセージとともにエラーを表示します.
幸いなことにあります。別の醸造レポに一時的な修正があるので、あなたがしなければならないことは次のとおりです:
brew tap kyslik/homebrew-php
brew install kyslik/php/php71-intl
Windowsでも同じ問題が発生しました。エラーは、いくつかのバージョンのPHPをインストールし、環境変数が間違ったphpのパスにルーティングされていたことでした 画像の例を参照
Intl Means:PHPスクリプトでUCA準拠の照合と数値、通貨、日付、時刻のフォーマットを実行できるようにする国際化拡張機能。
PECLでPHP Intlを有効にするには、使用できます。
pecl install intl
プレーンなRHEL/CentOS/Fedoraでは、PHP Intlはyumを使用してインストールできます
yum install php-intl
Ubuntuでは、PHP Intlはapt-getを使用してインストールできます
apt-get install php5-intl
Apacheサービスを再起動して、変更を有効にします。
それでおしまい
これ作って
XAMPPにはintl拡張機能が含まれていますが、php.iniでextension = php_intl.dllのコメントを外し、XAMPPコントロールパネルからサーバーを再起動する必要があります。 WAMPでは、int拡張機能はデフォルトで「アクティブ化」されていますが、機能していません。動作させるには、phpフォルダ(デフォルト)C:\ wamp\bin\php\php {version}に移動し、icu * .dllのようなファイルをすべてコピーして、Apache binディレクトリCに貼り付けます。\wamp\bin\Apache\apache {version}\bin。その後、すべてのサービスを再起動すると、問題はありません。
xAMPPを使用する場合は、これを実行します1. XAMPPをオフにします2. php.iniをc /:xampp/php/php.iniに変更します3. intl拡張が含まれていますが、phpでextension = php_intl.dllのコメントを外す必要があります。 iniを使用して、XAMPPコントロールパネルからサーバーを再起動します。
Package not found
エラーが発生した場合は、Sudo apt-get install php7-intl
を試してから、プロジェクトディレクトリでcomposer install
を実行してください。