Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@katzueno

Mac OS Homebrew の PHP 関連の formulae 変更されて大変だった (2018年4月)

自分の Mac では Valet を使っています。 concrete5 の開発に日々役立っています。

PHP7.2 で使っていました。

ただ、全てのアプリで対応していないものがあり、今回は Mautic をローカルで動かしたいと思って、PHP 7.1 にダウングレードを試みました。

すご~くハマってしまったので書き残します。

原因は、Homebrew が homebrew/php を deprecate し、古い時代の ini 設定ファイルがローカルの Mac にゴミとして残り続けていたことでエラーを吐き出していました。

今 PHP は 新しく php@7.1 などと @ の後にバージョンが着くようになり、最新バージョンは「php」だけになりました。

再現手順

デフォルトの php7.2 をアンインストールし、php7.1 を入れます。

$ brew remove php
$ brew install php@7.1
$ echo 'export PATH="/usr/local/opt/php@7.1/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/php@7.1/sbin:$PATH"' >> ~/.bash_profile
$ brew services start php@7.1

ちゃんとインストールされたかな・・・と確認してみると。

$ php -v

Warning の嵐。

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-intl/intl.so' - dlopen(/usr/local/opt/php71-intl/intl.so, 9): image not found in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-intl/intl.so' - dlopen(/usr/local/opt/php71-intl/intl.so, 9): image not found in Unknown on line 0

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-mcrypt/mcrypt.so' - dlopen(/usr/local/opt/php71-mcrypt/mcrypt.so, 9): image not found in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/usr/local/opt/php71-mcrypt/mcrypt.so' - dlopen(/usr/local/opt/php71-mcrypt/mcrypt.so, 9): image not found in Unknown on line 0

削除されていない古い ini ファイルはこちら

$ ls /usr/local/etc/php/7.1/conf.d
ext-igbinary.ini ext-intl.ini ext-mcrypt.ini   ext-opcache.ini  ext-redis.ini

これらを削除してしまったら良いです。

$ rm /usr/local/etc/php/7.1/conf.d/*

ついでに、非推奨の homebrew/php も消します。

$ brew untap homebrew/php

感謝!「homebrewでphp71-*系がインストールできなくなってた」

3日間ぐらい悩まされて、その間、MAMP に逃げてたんですが、
下記の記事に助けられました!

homebrewでphp71-*系がインストールできなくなってた
http://rskull.hateblo.jp/entry/2018/04/06/164236

ありがとうございます!

Valet 再インストールの手順

参考 Laravel/Valet 2.0 のアップグレードでハマったのでメモ
https://qiita.com/katzueno/items/4e7a65bcab18aa2b2f23

クレジット

この記事が役に立ったら、「 CMS は concrete5 が一番」と頭の中で10回唱えてみてください〜。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
11
Help us understand the problem. What are the problem?