web-dev-qa-db-ja.com

CakePHP 3.0のインストール:システムにintl拡張がありません

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を使用しています

61
Juan Carlos

今日も同じ問題に直面しました。 PHP構成(.ini)でintlPHP拡張を有効にする必要があります。

Solution Xampp(Windows)

  1. /xampp/php/php.iniを開きます
  2. ;extension=php_intl.dllextension=php_intl.dllに変更します(セミコロンを削除します)
  3. すべての/xamp/php/ic*.dllファイルを/xampp/Apache/binにコピーします
  4. XamppコントロールパネルでApacheを再起動します

ソリューション Linux(Annamalai Somasundaramに感謝)

  1. Php5-intl拡張機能Sudo apt-get install php5-intlをインストールします

    1.1。または、CentOSまたはFedoraを使用している場合は、Sudo yum install php5-intlを使用します。

  2. Apache Sudo service Apache2 restartを再起動します

ソリューション Mac/OSX (homebrew)(deizelに感謝)

  1. Php5-intl拡張機能brew install php56-intlをインストールします
  2. No available formula for php56-intlを取得した場合は、 これら の指示に従ってください。
  3. Apache Sudo apachectl restartを再起動します

最終的にcomposer installを実行して、機能しているかどうかを確認できます。そうでない場合はエラーになります。

111
Tijme

私はubuntu 12.04で同じ問題に直面しました

インストール済み:Sudo apt-get install php5-intl

Apache: Sudo service Apache2 restartを再起動しました

14
AnNaMaLaI

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
8
deizel

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

フルリンク:https://Gist.github.com/irazasyed/598769

7
Gilko

短い答え:php_cli.iniでintl拡張機能を有効にします。入力してくれた@ndmに感謝します。

2
Juan Carlos

エラーメッセージには、問題の内容が明確に記載されています。 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

2
venkatSkpi

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を再起動します

1
kamlesh

私の場合、私の実行中の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ファイルで問題が解決しました。

1
sh6210

私の場合、実際にcakephpをローカルで実行しようとしていませんでしたが、composerを使用してローカルで自動更新するようにしようとしていました(composerでインストールするプラグインを書いているので)。実際にはローカルで実行することすらないので、--ignore-platform-reqsフラグを追加することで要件を無視することができます。

php composer.phar update --ignore-platform-reqs

1
Richard Kersey

最新バージョンのUbuntu 16.04以降を使用している場合は

Sudo apt-get install php-intl

次に、Apacheを再起動します

Sudo service Apache2 restart
0

私はMac OS High Sierraを使用していますが、これらはどれもうまくいきませんでした。しかし、多くを検索した後、私は働いたものを見つけました!

これは些細なことのように思えるかもしれませんが、実際には約2か月前に一部の賢い人がbrewリポジトリに変更を加えたため、次のようにするとbrew install php71-intlはそのようなレシピが存在しないというメッセージとともにエラーを表示します.

幸いなことにあります。別の醸造レポに一時的な修正があるので、あなたがしなければならないことは次のとおりです:

brew tap kyslik/homebrew-php
brew install kyslik/php/php71-intl

ソース: http://blastar.biz/2018/04/14/how-to-enable-php-intl-extension-for-php-7-1-using-xampp-on-macos-high- sierra /

Windowsでも同じ問題が発生しました。エラーは、いくつかのバージョンのPHPをインストールし、環境変数が間違ったphpのパスにルーティングされていたことでした 画像の例を参照

0
Jamez

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サービスを再起動して、変更を有効にします。

それでおしまい

0
raju gupta

これ作って

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コントロールパネルからサーバーを再起動します。

0
Swastika

Package not foundエラーが発生した場合は、Sudo apt-get install php7-intlを試してから、プロジェクトディレクトリでcomposer installを実行してください。

0
Kunok