【2021/10/15 追記】
この記事は更新が停止されています。PHP を分かった気になって書いていた不正確な内容が多いため,過去の情報として参考程度にご覧ください。また,完成にたどり着けなかったことをお詫びします。原則的には,公式マニュアルの参照をおすすめします。
目次に戻る
前書き
記念すべき第1回目・・・方針とか途中で大きく変わるかもしれないけど、あんまりそういうこと気にしてても手が動かないのでとりあえず書いてみます。OSは Windows を想定しています。
XAMPPの準備
XAMPPとは?
以下のものが一式揃っています。
Apache
世界中でもっとも使われているWebサーバソフトウェア。http://localhost/sample/index.php
のようなURLでコンピュータ上の C:\xampp\htdocs\sample\index.php
にアクセスできるようにするためのもの。ちなみに コンピュータ上のファイルを直接 file:///c:/xampp/htdocs/sample/index.php
のようにWebブラウザから開いてもPHPは実行されない ので注意。
MySQL
世界でもっとも普及しているオープンソース・データベース。データベースとは、多数のユーザー情報をまとめて管理したりするためのシステムのことを指す。
Perl
PHPの大先輩であるプログラミング言語。最近は廃れてきている。
PHP
メインディッシュ。
XAMPPはこれら全てをまとめてほぼ全自動でインストールしてくれる上に、 XAMPP Control Panel から一括管理することができ、非常に便利です。なお、実際にWebサーバーとして公開する場合は、XAMPPを使用するよりも個別にインストールを行ったほうが逆に融通が利くようですが、今回は目的があくまでローカル環境の構築なのでXAMPPに頼ることにします。
XAMPPの「X」って何?
- Windows向けの WAMP
- Mac向けの MAMP
- Linux向けの LAMP
これらのバラバラのソフトウェアが全OSに対応されたという意味の X らしいです。
ダウンロードする
XAMPP for Windows
http://www.apachefriends.org/jp/xampp-windows.html
こちらから最新版をダウンロードしてください。パッケージは Installer 版がオススメです。
インストールする
Installer版を使えば何も考えなくていいwwwwwwwwwwwwwwwwwwwwwww
コントロールパネルを起動する
インストールが終わったら XAMPP Control Panel を起動してください。そして Apache と MySQL を開始し、正しく Running になるかどうか確認してください。
Webブラウザからアクセスする
http://localhost/ にアクセスして
It works!
と表示されれば成功。次からxamppフォルダ化にある htdocs フォルダにファイルを入れると、 http://localhost/
をルートパスとしてApache経由でアクセス出来るようになります。
セキュリティ設定
XAMPPはそのままでは 非常に危険 な状態なので、下記2項目の設定を行ってセキュリティを高めましょう。
- MySQLのルートパスワード設定
- XAMPPのディレクトリ制御設定
- http://localhost/security/xamppsecurity.php にアクセス。
- それぞれの項目を設定。(ラジオボタンやチェックボックスは初期値でOK)
php.ini の編集
XAMPP Control Panel の Apache について、「Config」→「PHP(php.ini)」を開いてPHPの設定を行います。;
が先頭についている行は全てコメントです。コメントアウトされている行の ;
を削除して設定を変更することもありますが、ここでは全てコメントでない行を編集する前提とします。
error_reporting
エラー表示を行う内容。
error_reporting = E_ALL | E_STRICT
として(あらゆるPHPバージョンで)全てのエラーを表示する設定にする。
display_errors
エラー表示機能自体をONにするかOFFにするか。
display_errors = On
としてエラーを表示させる。
最低限この2項目の編集・確認だけは行っておきましょう。なお、設定を適用するにはApacheを再起動する必要があります。
テキストエディタの導入
皆さんはテキストエディタには何を使われていますか?
自分でインストールしたエディタを使っている
以下のような標準設定にしてください。
- 文字コード
UTF-8(BOM無し) - 改行コード
LF(UNIXフォーマット)
Windows標準のメモ帳を使っている
そんな糞ソフトウェアはゴミ箱に捨ててしまいましょう。というのは言いすぎですが、それをPHPプログラミングに用いるのはやめましょう。さまざまなデメリットを抱えており、PHPに限らずプログラミングと非常に相性が悪いです。以下に私がオススメする Notepad++ の導入手順を示します。
Notepad++
http://sourceforge.jp/projects/notepad-plus/
- 上記サイトからダウンロードしてインストールを実行。
- 「設定」→「環境設定」→「新規作成」を開く。
- フォーマットで 「Unix」 を選択、エンコードで 「UTF-8(BOM無し)」 を選択して 「開いているANSIファイルに適用」 にチェック、デフォルトの言語で「PHP」を選択。
- 「設定」→「環境設定」→「ファイルの関連付け」を開く。
- 「.html」「.xhtml」「.css」「.js」「.php」などを登録しておく。
- 「設定」→「環境設定」→「タブ設定」を開く。
- タブサイズで「4」を指定する。タブ文字よりも半角スペース複数個の方が好みであれば「半角スペースで置換」にチェックを入れる。
Notepad++のちょっとしたTips
-
まとめてインデント
→ 複数行選択してTab
を押す。 -
まとめてアンインデント
→ 複数行選択してShift
Tab
を押す。
基本的な設定は以上で完了です。なお、php.iniはメモ帳で編集しても改行コードがCRLFで日本語が登場しないので問題が発生しないようになっています。しかし、わざわざメモ帳を使う必要はないのでこれからはメモ帳さんには永眠していただきましょう。
よくある質問
Apacheが起動しない!
大部分の問題はポート(HTTP用の) 80番 と (HTTPS用の) 443番 が他のプロセスに使用されていることに起因します。代表的なケースとしてSkypeとの競合があります。
Skypeの場合の解決策
- ツール→設定→詳細→接続
- 「上記ポートに代わり、ポート80と443を使用」のチェックを外す
他のケースでも、とりあえずApacheにこれらのポートを譲ってあげれば、たいていの問題は解決するはず。
C:\xampp\htdocs
からドキュメントルートを他の場所に変えたいんだけど?
これにはいくつか方法がありますが、一番問題を引き起こす可能性の低いものとしては シンボリックリンク を張る方法が挙げられるでしょう。Linuxユーザーであれば馴染み深いものであると思います。
Windowsでの例
- コマンドプロンプトを起動。
-
mklink /D "D:\Dropbox\web" "C:\xampp\htdocs"
を実行。 -
D:\Dropbox\web
が作成され、ここをhtdocsと全く同じものとして扱うことが出来るようになる。