web-dev-qa-db-ja.com

XAMPPのPHP-intlインストール

MacでXAMPPを使用して拡張機能intlを使用する必要があります。

だから私はこのリンクをたどっています:

XAMPP for Mac Lion 10.8でのPhp-intlインストール

http://lvarayut.blogspot.it/2013/09/installing-intl-extension-in-xampp.html

常にApacheサーバーを再起動しますが、拡張機能がインストールされていません。なぜなら私が立ち上げた場合:

php -m | grep intl #should return 'intl'

空を返す

これなしでは起動できないコマンドは、composerおよびcakephpに対するものです:

composer create-project --prefer-dist -s dev cakephp/app cakephp3

このエラーを返してください:

Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for cakephp/cakephp 3.0.*-dev -> satisfiable by cakephp/cakephp[3.0.x-dev].
    - cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
  Problem 2
    - cakephp/cakephp 3.0.x-dev requires ext-intl * -> the requested PHP extension intl is missing from your system.
    - cakephp/bake dev-master requires cakephp/cakephp 3.0.x-dev -> satisfiable by cakephp/cakephp[3.0.x-dev].
    - Installation request for cakephp/bake dev-master -> satisfiable by cakephp/bake[dev-master].

したがって、ext-intlの問題を拡張子intlで解決する必要があります。

誰かがこの問題で私を助けることができますか?この拡張機能をインストールするにはどうすればよいですか?

ありがとう

15

以下の手順は、OSXを使用している場合に備えて助けてくれました

http://www.phpzce.com/blog/view/15/installing-intl-package-on-your-mac-with-xampp からのステップ

  1. どのPHPパスが設定されているかを確認してください.

    root$: which php
    
  2. Macでxamppを使用している場合は、

    /Applications/XAMPP/xamppfiles/bin/php 
    

    しかし、その場合

    /usr/bin/php 
    

    oSx phpを変更する必要があります

    root$: PATH="/Applications/XAMPP/xamppfiles/bin:${PATH}" 
    
  3. Icu4cをインストールする

    root$: brew install icu4c 
    
  4. PECL経由でIntlをインストールする

    root$: Sudo pecl update-channels 
    root$: Sudo pecl install intl 
    
  5. Intlが正常にインストールされたかどうかを確認できます

    root$: php -m | grep intl #should return 'intl' 
    

完了

============================

注意:

  • /Applications/XAMPP/xamppfiles/etc/php.iniファイルの拡張機能リストからextension=intl.so行を追加/コメント解除します。そして、Apacheを再起動します。ありがとう@pazhyn

  • 「intl」をインストールする前に、Autoconfをインストールしていない場合はインストールする必要があります。ありがとう@Digant

    • Homebrew brew install autoconf automakeまたは
    • 以下のコマンドを実行することにより

      curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-latest.tar.gz
      tar xzf autoconf-latest.tar.gz
      cd autoconf-*
      ./configure --prefix=/usr/local
      make
      Sudo make install
      cd ..
      rm -r autoconf-*
      
30
Kunal Panchal

Moodleを使用しているときにintlに問題がありましたが、次のようにして修正しました。

  1. XAMPPインストーラーを再実行し( インストーラーが手元にない場合は、ここからダウンロードしてください )、「XAMPP Developer Files」にチェックマークを付けます。 XAMPP installer
  2. ターミナルを使用して、XAMPPのバイナリフォルダー$ cd /Applications/XAMPP/binに移動します
  3. PHPのパッケージマネージャーを使用して、$ Sudo ./pecl install intlを実行してintlをインストールします。これにより、いくつかの内容がコンパイルされ、成功した場合はインストールが完了します。

    Build process completed successfully
    Installing '/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20131226/intl.so'
    install ok: channel://pecl.php.net/intl-3.0.0
    configuration option "php_ini" is not set to php.ini location
    You should add "extension=intl.so" to php.ini
    
  4. $ cd ../etcそこにphp.iniを追加する必要がありますextension=intl.so私のシステムでは、php_intlを検索して見つけることができる959行の後に行を追加しました。
  5. 最後に、XAMPP GUIからApache Webサーバーを再起動します。

これがあなたのために働くことを望みます!

13
toldjuuso

XAMPPでも同じ問題が発生しました。いくつかの答えを試しましたが、成功しませんでした。代替ライブラリの低下を解決できました http://php-osx.liip.ch/ 。このライブラリphpは、intlと他のいくつかのパッケージが既にインストールされています。ダウンロード後、xamppのhttpd.confに移動し、LoadModule php5_moduleが/usr/local/php5/libphp5.soのこれらのパッケージをポイントしました