M4 mac で WordPress の環境を作る
MacBook Air を購入したのだが,いつものように WordPress をローカルで簡単に入れられると思ったら,なかなか面倒だったので備忘録としてまとめておく.
まず,Apache が最初から入っているので,これを使ったらよいと思ったのが間違いだった.
PHP を入れるのは homebrew で入れられるのだが,extension で困ったことになった.
FreeBSD などでは存在している php-extension などという簡単にインストールしてくれるものは存在していないのだ.

困った挙句,PHPBrew なるものを使うことにした.
結論としてはこれが一番簡単にインストール出来るようだ.
以下のサイトが最も参考になった.感謝します.
ただ,問題があって,PHPBrew で PHP を管理するはずなのに,PHP が存在していないとインストールが完了しない.
そして,気にせず,
brew install php
などとして,最新版を入れてしまうとインストールが完了しなくて困ったことになる.
どうも,最新バージョンの PHP では PHPBrew の都合が悪いようなのだ.
Apache は入れ直し
まずは Apache を入れるところから始まる.
これは
brew install httpd
とすれば問題ない.
~/.zshrc の設定
いろいろあって,最終的にこれを追加している.内容は検索して調べてください.
[[ -e ~/.phpbrew/bashrc ]] && source ~/.phpbrew/bashrc
export PATH="/opt/homebrew/sbin:/opt/homebrew/opt/bin:$PATH"
export HOMEBREW_NO_AUTO_UPDATE=1
export HOMEBREW_NO_INSTALL_FROM_API=1
mySQL を入れる
これは Homebrew で簡単.
brew install mysql
php は最新バージョンでないものを入れる
そして,php だがあえて 8.1 を入れてみた.これだと phpbrew が正常に動く.
brew install php@8.1
phpbrew を入れる
その後,必要らしいプログラムをインストールしていく.
基本的には
を見ながらインストールする.
必要なモジュールで使うものをインストールする.
brew install autoconf pkg-config
brew install curl mhash bzip2 oniguruma libzip libxml2 libiconv libxslt
PHP をインストールする前にこれを実行しておく.
phpbrew lookup-prefix homebrew
下で,この apxs2 が重要でこれで apache から参照する php のモジュールがインストールされる.その時に httpd.conf も書き換えられる.
default の中に gd が入っているので不要なはずだが,なぜか指定しないとインストールされない.謎.
phpbrew install 8.3 +default +mysql +gd +apxs2=/opt/homebrew/bin/apxs
現時点では 8.3 は 8.3.19 が最新となっていた.
phpbrew は ~/.phpbrew の下に設定ファイルが置かれる.
apache の設定
~/web にホームページのファイルをおく場合,
/opt/homebrew/etc/httpd/httpd.conf の変更箇所は以下のようにした.
Listen 80
LoadModule rewrite_module modules/mod_rewrite.so
ServerName localhost
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
<Directory "/Users/ユーザー名/web">
AddHandler php-script .php .html
AddType application/x-httpd-php .php .html
</Directory>
Include /Users/ユーザー名/web/conf/*.conf
~/.phpbrew/php/php-8.3.19/etc/apache2/php.ini の変更点は以下ぐらい.
extension=curl
extension=gd
extension=exif
extension=mysqli
extension=openssl
post_max_size = 30M
upload_max_filesize = 30M
以下で実行される.
brew services restart httpd