成長したら、Docker使おう。でも今はローカルでいい
MacOSXでPHPを動かすにはとLAMP環境作る必要がとか思ってMANPとか入れようかと思ったのですが、よくよく考えたらそういうの元々あったなとググりました。
そう、結局MacにはApacheもPHPもpythonもrubyもあるのです。
なので、細かいバージョン違いを吸収する必要がないテスト環境であれば、別にターミナルから動かせばよいのです。ということでPHPを簡単に動かす方法を書きます。
##前提条件
ターミナルを起動しておくこと
chromeをターミナルから以下のコマンドで起動する。
open /Applications/Google\ Chrome.app/ --args --disable-web-security
※ただし、完全に終了した状態で起動しないと意味が無い。
※参考 【解説付き】chromeでXMLHttpRequestをローカルのファイルで行う方法(http://qiita.com/growsic/items/a919a7e2a665557d9cf4)
##phpmoduleのApacheへの組み込み
httpd.confを操作する。ターミナルを起動し、
sudo vi /private/etc/apache2/httpd.conf
と入力する。そうすると、phpの拡張モジュール一覧が表示されているので、169行目あたりに書いてある、
#LoadModule php5_module libexec/apache2/libphp5.so
の#を削除して、
LoadModule php5_module libexec/apache2/libphp5.so
と設定して、上書き保存する。
※viを起動した際は、最初に行番号を表示させると便利なので、:set number
と入れて、行番号を表示させて、169G
と入れると該当の行に一発で飛ぶ。また、入力時には"i"と入力しINSERT状態にする。終了する際は上書きする場合はwq!
と入れEnterキーを入れる。
##Apacheの起動
sudo apachectl start
を叩く。この時Adminパスワードを要求されるので素直に入力する。
再起動の場合はsudo apachectl restart
と入れる。
起動したことを確認すべく、Chromeのアドレスバーにlocalhostと入力する。そうしたら「It works!」と表示されることを確認する。
###PHP動作確認
MacのwebServerは以下のディレクトリを参照している。
/Library/WebServer/Documents/
そのため、このディレクトリに、
<?php
phpinfo();
?>
を記載した、test.phpを配置する。この際、ATOMやvi等のエディタで直接作ってそのまま保存することは出来ないので注意。何故かと言うと、ディレクトリの変更であるため、Administratorパスワードを要求されるからだ。
該当ディレクトリにtest.phpを配置したら、localhost/test.phpと入力してみるといいだろう。PHPのバージョンなどが表示されたら成功だ。
###いざPHPをテストする。
~/Document/等の直下にhtmlやjsファイルを置いて、サーバとの通信テストを行う。この時、JSのhttpサービス利用すると思うが、ディレクトリの指定は相対パスよりも絶対パスのほうが確実だろう。
Macで絶対パスを調べる方法は非常に簡単だ。対象ファイルをターミナルにDrug & Dropすれば良い。これで絶対パスがわかる。
期待通りのメッセージなどが返ってくることを確認したら成功だ。
DBを使うようなサービス(JSONだけとか)ならこれで十分である。
もし、これ以上の事をやるなら素直にHeroku等を利用したほうが早い。
###PHP5.4以降だと・・・
ターミナルを起動して、php -v と打って5.4とか7.0.2とか出てきたら、このやり方よりもずっと簡単です。
$ cd hogehoge
と入れてphpのサーバのルートディレクトリとしたいディレクトリに移動します。
$ php -S localhost:8000
といれると内蔵サーバが起動します。
ブラウザに
localhost:8000
と入れてくれればPHPのWelcomページが見えるはずです。
※ご指摘いただきましたので追記しました。ありがとうございました。