macOSでPHPローカルサーバを立ち上げる
Windows であれば XAMPP が一般的かと思いますが,macOS だとデフォルトで PHP 等の環境が用意されているらしいです.
動作環境
- macOS Catalina (10.15.4)
- PHP 7.3.11
- Apache 2.4.11
バージョンの確認
terminal
mktia@mktias-MBP [18時26分37秒] [~]
-> % httpd -v
Server version: Apache/2.4.41 (Unix)
Server built: Feb 29 2020 02:40:57
mktia@mktias-MBP [18時26分40秒] [~]
-> % php -v
PHP 7.3.11 (cli) (built: Feb 29 2020 02:50:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.11, Copyright (c) 1998-2018 Zend Technologies
macOS 上の Apache サーバ
一つ目は,Apache サーバを建てる方法です.
httpd.conf 編集
設定ファイル中で3箇所のコメントアウトを外します.
terminal
$ sudo vi /etc/apache2/httpd.conf
httpd.conf
# line 186
#LoadModule php7_module libexec/apache2/libphp7.so
# line 183
#LoadModule userdir_module libexec/apache2/mod_userdir.so
# line 520
#Include /private/etc/apache2/extra/httpd-userdir.conf
(イメージ)
- PHP 有効化
- ユーザディレクトリ有効化
httpd-userdir.conf 編集
ユーザ設定を作るのでコメントアウトを外します.
terminal
$ sudo vi /etc/apache2/extra/httpd-userdir.conf
httpd-userdir.conf
# line 16
#Include /private/etc/apache2/users/*.conf
ユーザ設定ファイル
username
にはユーザ名が入ります.
terminal
$ sudo vi /etc/apache2/users/username.conf
username.conf
<Directory "/Users/username/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Require host localhost
</Directory>
設定ファイルの記述が正しいかについては,以下のコマンドでテストできます.
terminal
$ sudo apachectl configtest
Apache 起動
terminal
$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
# これだけでいけるかもしれない
$ sudo apachectl start
Apache 停止
terminal
$ sudo apachectl stop
Apache 起動状態の確認
terminal
$ ps aux | grep httpd
grep
そのもののコマンド以外で立ち上がっていれば起動しています.
ドキュメントルート
上記の設定でドキュメントルートを開放しています.
元のパスは /Library/WebServer/Documents
ですが,/Users/<username>/Sites
がドキュメントルートとして利用できます.
元のパスでは編集に root 権限が必要になるので,ユーザのホームディレクトリ下を使用した方がいいです.
PHP ローカルウェブサーバ
PHP はローカルで使えるウェブサーバを内包しているらしく,これを使った方が簡単にローカルサーバを立ち上げることができます.
単純に PHP の動作を見たいのであればこちらの方が楽そうです.
terminal
$ php -S 0.0.0.0:80
PHP 7.3.11 Development Server started at Fri May 22 18:10:14 2020
Listening on http://0.0.0.0:80
Document root is /Users/mktia
Press Ctrl-C to quit.
たったこれだけで動きます.
ポート番号は自由に設定できるようです.
ドキュメントルート
/Users/<username>
の下に展開されます.
XAMPP
macOS でも XAMPP を使うことができます.
MySQL などと合わせて開発環境を整えるなら,こちらの方が便利かもしれません.
今回は省略します.
最後に
WordPress のテーマ開発とかでなければ,PHP ローカルサーバでいいんじゃないかーと思いました.