hnwの日記

launchdで複数バージョンのPHP-FPMを自動起動する


(2016/8/9)PHP7やHomebrewの現状に合わせるため細かい点を修正しました。


MacOSX上で5.3/5.4/5.5の3バージョンのPHP-FPMを自動起動する設定を紹介します。


各バージョンのPHP-FPMを用意する方法については、前回記事「php-buildで複数バージョンのPHP-FPMを用意する」を参照してください。

launchdについて

多くのUnix系OSでは、OS起動時の自動起動スクリプトがinit.dもしくはrc.dといったディレクトリ以下に存在しますが、MacOSXではlaunchdというデーモンで置き換えられています。さらに、launchdはユーザー権限で動くデーモン起動にも利用することができます。今回はこれを利用してユーザー権限でnginxとPHP-FPMを自動起動してみましょう。


実はlaunchdはcrondやxinetdの機能も実現している何でも屋さんです。詳しくは「man launchd」などを参照してください。

PHP-FPMの自動起動設定

launchdの個人用の設定ファイルは$HOME/Library/LaunchAgents/以下に設置します。


僕のPHP 5.3用の設定ファイル「localhost.php53.php-fpm.plist」は以下の通りです。

続きを読む