macOSでPHPローカルサーバを立ち上げる

Windows であれば XAMPP が一般的かと思いますが、macOS だとデフォルトで PHP 等の環境が用意されているらしいです。

動作環境

  • macOS Catalina (10.15.4)
  • PHP 7.3.11
  • Apache 2.4.11

バージョンの確認

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箇所のコメントアウトを外します。

$ sudo vi /etc/apache2/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 編集

ユーザ設定を作るのでコメントアウトを外します。

$ sudo vi /etc/apache2/extra/httpd-userdir.conf
# line 16
#Include /private/etc/apache2/users/*.conf

ユーザ設定ファイル

username にはユーザ名が入ります。

$ sudo vi /etc/apache2/users/username.conf
<Directory "/Users/username/Sites/">
  Options Indexes MultiViews FollowSymLinks 
  AllowOverride None
  Require host localhost
</Directory>

設定ファイルの記述が正しいかについては、以下のコマンドでテストできます。

$ sudo apachectl configtest

Apache 起動

$ sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist

# これだけでいけるかもしれない
$ sudo apachectl start

Apache 停止

$ sudo apachectl stop

Apache 起動状態の確認

$ ps aux | grep httpd

grep そのもののコマンド以外で立ち上がっていれば起動しています。

ドキュメントルート

上記の設定でドキュメントルートを開放しています。

元のパスは /Library/WebServer/Documents ですが、/Users/<username>/Sites がドキュメントルートとして利用できます。

元のパスでは編集に root 権限が必要になるので、ユーザのホームディレクトリ下を使用した方がいいです。

PHPローカルウェブサーバ

PHP はローカルで使えるウェブサーバを内包しているらしく、これを使った方が簡単にローカルサーバを立ち上げることができます。

単純に PHP の動作を見たいのであればこちらの方が楽そうです。

$ 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 ローカルサーバでいいんじゃないかーと思いました。

タイトルとURLをコピーしました