web-dev-qa-db-ja.com

Mac OS:Intl拡張がロードされていません

  • macOS Mojave 10.14.3
  • PHP 7.1.23
  • Prestashop 1.7.5.1

Prestashopを使用するために、ローカルサーバーにPHP intl拡張機能をインストールしようとしました。

_extension=php_intl.so_を_etc/php.ini_に追加しました

Prestashopをインストールしようとすると、_Intl extension is not loaded_が表示されます。

$ php -m | grep intl

_$ php -m | grep intl_を実行すると、次のようになります。

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/pecl/20160303/php_intl.so' - d lopen(/usr/local/lib/php/pecl/20160303/php_intl.so, 9): image not found in Unknown on line 0 Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/pecl/20160303/php_intl.so' - dlopen (/usr/local/lib/php/pecl/20160303/php_intl.so, 9): image not found in Unknown on line 0 intl

ファイル_php_intl.so_が存在しないようです。

$ Sudo pecl install intl

私も_$ Sudo pecl install intl_を試してみました:

_make: *** [php_intl.lo] Error 1 ERROR:_ make 'が失敗しました `

$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

_$ curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1_も試してみましたが、_intl.so_ファイルが作成されません。


この問題を解決するにはどうすればよいですか?

9
Aliz

brew に問題がある可能性があります

あなたはそこで言及されているようにこれを使用しようとすることができます:

醸造タップkyslik/homebrew-php

bkyインストールkyslik/php/php71-intl

0
Siad Ardroumli

したがって、Peclの公式サイト( https://pecl.php.net/package/intl )では、Intlパッケージがもう保守されておらず、置き換えられていることが明らかです。 PHP 5.3.0なので、Petlを使用してintl拡張機能をインストールする必要はないため、PHPにバンドルされています。

しかし、Mac OS MojaveでのPHP 7.1.24のネイティブインストールでは欠落しています。

homebrewを使用する代わりに、プリインストールされているネイティブのApacheとphpのみを使用する場合は、次のようにします。

ダウンロードPHP 7.1、XCodeコマンドラインツールをインストール、ICU( http://site.icu-project.org/ )、Autoconf、開発者ツールのヘッダーファイルを再インストールし、最後にphpizeを使用してIntl拡張機能をインストールします。

重要:SIPを無効にする必要があります。

0
Gabriel Souto

私はこの問題について多くの答えを見てきましたが、だれでも助けてくれましたが、最後の(もちろん)です。これはXAMPPが使用するためのものです。

Xcodeが必要です。 php.netから、xamppで使用するphpのバージョンをダウンロードします。それを抽出し、cdを使用してターミナルで抽出したフォルダーを開きます。サブフォルダーext/intlに変更します。次のコマンドを実行して、拡張機能をビルドします。

/Applications/XAMPP/bin/phpize
./configure --enable-intl --with-php-config=/Applications/XAMPP/bin/php-config --with-icu-dir=/Applications/XAMPP/xamppfiles/
make
Sudo make install (password required)

ダウンロードしたすべてのファイルと解凍したフォルダーを削除します。 xampp/etcフォルダー行のphp.iniファイルに追加

extension="intl.so"

元のリンク: https://community.apachefriends.org/viewtopic.php?p=255061&sid=27afc55649dfe6ea7b0824cb0bb8486b

0
Alejo

macでintlが動作しない以外はすべて試しましたので、xamppをアンインストールしてmampをインストールしてください。

0
Rahul Tathod