web-dev-qa-db-ja.com

macOS MojaveでPHP Intl拡張機能を有効にする方法は?

MacOS MojaveにMagento(2.3.0)をインストールしようとしています。 MagentoがPHP Extension intl.がないことを示しています。

私は解決するために以下を試しました:

  1. cp /etc/php.ini.default php.iniを使用してphp.iniのコピーを作成しました
  2. 「;」を削除extension=php_intl.dllより前
  3. Apacheを再起動しますSudo apachectl restart

しかし、上記は解決しませんでした。

php -vを確認すると、次のエラーが表示されます。

PHP Warning:  PHP Startup: Unable to load dynamic library 
'/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll' - 
dlopen(/usr/lib/php/extensions/no-debug-non-zts-20160303/php_intl.dll, 
0x0009): dlopen(): file not found: /usr/lib/php/extensions/no-debug- 
non-zts-20160303/php_intl.dll in Unknown on line 0
PHP 7.1.19 (cli) (built: Aug 17 2018 20:10:18) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

/usr/lib/php/extensions/no-debug-non-zts-20160303の下には2つのファイル、つまりopache.soxdebug.soしかありません

MacOS Mojaveに「PHP Extension intl」をインストールまたは有効にするにはどうすればよいですか?

2
Suren Konathala

PHP 7.xにはすでにモジュールPHP-Intlが含まれています。homebrewからPHPをインストールしてください。

  1. インストールbrew install php
  2. 開いた vi ~/.bash_profileまたはvi ~/.zshrc、その行をファイル/usr/local/Cellar/[email protected]/7.2.22_1/bin
  3. スクリプトをロードするsource ~/.bash_profileまたはsource ~/.zshrc

上記の例では、PHPバージョン7.2を使用しています。別のPHPバージョンを使用している場合は、PHPディレクトリを変更しますセラーディレクトリ。

  1. チェックPHPバージョンphp -v、表示されたバージョンがインストールしたバージョンと同じであることを確認してください。
  2. モジュールのチェックphp -mまたはphp -m | grep intl

できた!

0
kakaeriel

Homebrewのphpをインストールした場合、それをパスのディレクトリにリンクすると問題が解決します。 brew link --force [email protected]同じ問題が発生したため、修正しました。 ここ は詳細な回答を得たリンクです

0
Codebender