Osx high sierraで提供されるintl PHP拡張機能をPHP 7.1.7にインストールするにはどうすればよいですか?
そのため、まったく同じ問題が発生しました。ここでコメントしている他の人が述べているように、High SierraにはPHP 7.1がインストールされており、このPHPバージョンにはintlがコンパイルされています
私の場合、次の Valet + issue のNeodorkコメントの一部に従いました。
"インストール" PHP 7.1(したがって、High Sierraによってインストールされたものではなく、brew自体から取得されます)
brew install [email protected]
最新バージョンにアップグレードする
brew upgrade [email protected]
Cellarのリファレンスのシンボリックリンク:
brew link --overwrite --force [email protected]
BashプロファイルのPHPパスを変更します
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile
Bashプロファイルをリロードします(ターミナルを閉じて再度開くことができます)
. ~/.bash_profile
国際を確認
php -m | grep intl
注:次のような警告が表示された場合:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-intl/intl.so'
次に、前のintlを無効にする必要があります。
mv /usr/local/etc/php/7.1/conf.d/ext-intl.ini /usr/local/etc/php/7.1/conf.d/ext-intl.ini.disabled
それが役に立てば幸い!
ターミナルを開き、次を入力します。
brew search intl
php71-intlが表示され、実行できるはずです。
brew install homebrew/php/php71-intl
その後、Apacheを再起動します
Sudo apachectl restart
次に入力:
php -i | grep intl
次のようなものが見えるはずです。
Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-intl.ini
intl
intl.default_locale => no value => no value
intl.error_level => 0 => 0
intl.use_exceptions => 0 => 0
楽しい!
brew/php
からbrew/core
への統合後、intl
拡張がデフォルトのインストールに含まれます。 intl
拡張機能が機能しないという同じ問題もありました。私が抱えていた問題は、コマンドライン環境がPHPのインストールされたバージョンではなく、macOSシステムのデフォルトバージョンを使用していたことでした。
インストールされたバージョンを有効にするには、これを行う必要があります。
brew install [email protected]
の後
インストールされたPHPバージョンをbrew link [email protected]
でリンクする必要があります
次に、新しい端末を開いて有効にする必要があります。
次に、PHPバイナリパス、which php
を再確認します
/usr/local/bin/php
ではなく/usr/bin/php
であることを確認してください
次に、int拡張機能が有効かどうかを確認しますphp -m | grep intl
わたしにはできる。
L。Grolleau says (brew install php71-intl
を実行)に加えて、int.so
パスをファイルの最後に/php.ini
に貼り付けます。
extension=/usr/local/Cellar/php71-intl/7.1.11_20/intl.so
OS High Sierraでbrew 1.6.2を実行しています。現時点では、int拡張機能はbrewパッケージでは使用できません。
@Mondyソリューションは私にとってはうまくいきました。実行後
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
パッケージは/ usr/local/php5または/usr/local/php5-7.0.27-20180201-135220にあります。
したがって、/ usr/local/etc/php/7.0/php.iniに以下の行を配置して、int拡張機能を有効にできます。
[intl]
extension="/usr/local/php5/lib/php/extensions/no-debug-non-zts-20151012/intl.so"
私の場合、より良い組織のために、/ usr/local/etc/php/7.0/conf.d /にファイル「ext-intl.ini」を作成することを好みました。
私は解決策を見つけます。
curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1
次に、インストールからintl.soをphp.iniに定義されている拡張ディレクトリにコピーしました。
私はこれをうまく処理できました。
最初にbrewで完全に持っているphpパッケージをアンインストールしてから、brew update
およびbrew doctor
コマンドを実行します。
ここで、brew install [email protected]
(必要に応じてバージョンを変更)でインストールします。intlは、すべてのphp-formulaeのビルドに含まれています。
動作していることを確認するには、php -m | grep intl
を実行します。 intl拡張機能が含まれていることがわかります。 php.iniファイルを確認していない場合は、拡張機能がロードされていることを確認してください。