PHPのインストール for Windows
※当サイトは、アフィリエイト広告を掲載し、収益を得て運営しています。
PHPは、Perl等と同じように、Webシステムの開発でよく使われるスクリプト言語です。Web黎明期はPerlの方がよく使われたように思いますが、現在はPHPの方が多く使われている印象です。というのも、PHPの方が比較的簡単に覚えられるということと、デフォルトで使える関数や標準ライブラリが充実していることが理由に挙げられるでしょう。
さて、インストールに関してですが、Perlと同様、すでにインストールされている場合もあります。例えば、Mac OS Xをお使いの方や、XAMPPをインストールされた方は、すでにPHPがインストールされていますので、別途インストールする必要はありません。PHPを利用するのにインストールが必要なケースで多いのは、Windows環境でApacheを単体インストールしている場合でしょう。
このページでは、Windows環境でPHPを単体インストールする方法についてご紹介していきます。
本ページはPHPのバージョン5.2.17と古い内容です。バージョンを読み替えてなんとかなることもありますが、そうでないこともあります。他サイトでもっと最近解説されている記事がたくさんありますので、そちらをご覧になることをお勧めします。
まずはPHPをダウンロード
PHPのWindowsバイナリのダウンロードページにアクセスしてください。ここからWindows版のPHPをダウンロードしてくるのですが、いくつか選択肢があります。
VC6 or VC9
画面左にある、「Which version do I choose?」を読むと、普通にapache.orgにあるApacheをインストールした場合は、VC6を。IIS(Windows用のMicrosoft社製Webサーバ)環境ではVC9をダウンロードするとあります。当サイトではApacheを基本に説明していますので、ここではVC6を選択します。
Thread Safe or Non Thread Safe
ここでは詳しく触れませんが(そもそも私自身完全に理解しているとも言えませんが)、モジュール版のPHPはThread Safeがいいようです。まあテスト用サーバで動かすPHPなのでどちらでも大丈夫でしょうが、ここではThread Safe版を選択します。
というわけで、VC6のThread Safeを探すと、執筆時点ではPHP5.2.17の、[ VC6 x86 Thread Safe (2011-Mar-22 13:29:30) ]となります。
インストーラ版もあるのですが、今回試しにそれでインストールをしてみたところ、私の環境ではApacheが起動しなくなってしまったので、Zip版でインストールします。[ Zip ]をクリックして、ダウンロードしてください。
PHPのインストール
ダウンロードしたファイル(ここでは[ php-5.2.17-Win320VC6-x86.zip ])は圧縮されているので、解凍します。解凍すると、以下のようなフォルダが作成されます。
フォルダ名の変更
まず、このフォルダ名を分かりやすく簡単なものに変えるといいでしょう。ここでは、[ php ]と変更しました。ここで他の名前にした方は、この後の文章を適宜読みかえてください。
フォルダの移動
このフォルダを、任意の場所に移動します。ここでは、C:\直下に移動しました(ここに置くのが昔からの慣例のようなので、それに倣っています)。つまりこのフォルダのパスは、C:\phpとなるわけですね。
php.iniの作成
先ほど移動したフォルダの中には、下記のようなファイルがあります。その中の、[ php.ini-dist ]と[ php.ini-recommended ]というファイルを探してください。これらがPHPの設定ファイルの設定例なのですが、[ php.ini-dist ]は主に開発用、[ php.ini-recommended ]は本番運用での設定例です。
テスト用のサーバーですので、どちらでもかまいませんが、ここでは用途通りに、開発用の[ php.ini-dist ]を選択することにしました。[ php.ini-dist ]をコピー&ペースト(複製)して、その複製したファイル名を[ php.ini ]に変更します。
Apacheのhttpd.confの修正
現時点では、ApacheからPHPを認識できていません。そこで、Apacheの設定ファイルであるhttpd.confから、PHPモジュールの読み込みと、PHPの設定ファイル(php.ini)の場所を教えてあげる必要があります。
まずはApacheのhttpd.confを開いてください。私の環境では、デフォルトの場所にインストールしたので、C:\Program Files\Apache Software Foundation\Apache2.2\confにありました。
次に、以下のようなコードを、ファイルのどこか(例えばファイルの最後等)に追記します。
PHPIniDir "[ PHPのフォルダへのパス ]"
[ PHPのフォルダへのパス ]というのは、先ほど解凍したフォルダのパスを指します。例えば今回の場合、C:\直下にphpのフォルダを配置したので、C:\phpですね。
[ PHPのモジュール ]というのは、現在お使いのApacheのバージョンによって異なります。先ほどのphpフォルダの中には、phpのモジュールと呼ばれるファイルが含まれているのですが、どのモジュールを読み込むかは、Apacheのバージョンによって違うのです。それは、以下の通りです。
- Apache2.2系の場合
- php5apache2_2.dll
- Apache2.2以外のApache2系の場合
- php5apache2.dll
- Apache1系の場合
- php5apache.dll
今回は、Apache2.2にインストールするので、下記のようになります。違うバージョンのApacheをお使いの方は、適宜読みかえてください。
PHPIniDir "C:\php"
簡単に言えば、一行目が「C:\php\php5apache2_2.dllにあるPHPのモジュールを読み込んでください。」
二行目が、「PHPの設定ファイルはC:\phpの中にあるphp.iniというファイルを使います」ということです。
拡張子を割り当てる
最後に、特定の拡張子をPHPに割り当てます。先程設定した部分に続けて、下記を記述してください。
これは、拡張子.phpの場合に、PHPとして実行するという意味です。
しかし実際には、拡張子.htmや.htmlでもPHPを動かしたいというケースもあるかもしれません。もし.htmや、.html等でもPHPを使いたい場合は、それらも併記しておきます。半角スペースで区切って指定すればOKです。
ただし.htmや.htmlでもPHPとして処理するので、その分の負荷がかかります(体感できるほどではないと思いますけれど)。ここでは.phpだけにしておき、.htaccessで特定のディレクトリ以下だけ、.htmや.htmlでもPHPを実行できる設定にすることも可能です。
ここで、httpd.confを保存して、Apacheを再起動させて設定を反映させます。
実行してみる
ここまできたら、さっそくPHPを実行してみましょう。
下記のようなコードを記載したファイルを用意します。拡張子は、[ .php ]にして、公開ディレクトリ以下に配置してください。phpinfo();というのは、PHPの情報を出力するおまじない(関数)です。
phpinfo();
?>
そうしたら、ブラウザから(http://~で)アクセスしてみましょう。以下のように、PHPの情報が表示されたら、PHPインストールの完了です。
本番サーバで、phpinfo()に常時アクセスできるようにしない
初心者の方に多いのですが、このphpinfo()を、本番サーバに、誰でもアクセスできる状態で置いたままにしてしまうケースが多く見られます。実際の現場でも、他者が作ったサイトで何度も目にしてきました。
phpinfo()は、サーバの内部情報を表示するので、第三者に見られると非常に危険です。例えるなら、自宅の玄関に、家の仕様や間取り図を貼っているようなものです。本番サーバでは、phpinfo()のファイルを置いたままにしないように気をつけてください。
その他必要に応じてやっておくこと
一度にたくさん設定をいじってしまうと、動かなかったときの問題切り分けがしにくいため、とりあえずPHP動かすところまでを行いました。ですがまだやっておいた方がいいことがあります。全てやってください!とは言いませんが、できれば下記も目を通しておいてください。
パスを通す
これからいろいろなモジュールを使っていったり、コマンドプロンプトからPHPを実行するなどする際に、パスを通しておいた方が便利です。かえってややこしくなるのでここでは詳しく触れませんが、パスを通しておくと、そのパス以下を自動的に探してくれるようになります。
パスの追加は、下記から行います。
- Windows XP
- 「マイコンピュータを右クリック」→「プロパティ」→「詳細設定」→「環境変数」
- Windows Vista, Windows 7
- 「コンピュータを右クリック」→「プロパティ」→「システムの詳細設定」→「詳細設定」→「環境変数」
Windows Vistaでの例
Windows Vistaのケースで設定します。数字の順番にクリックしていってください。
ここは要注意ポイントです。変数値の最後の部分に、追記する形で登録します。形式は、[ ;パス ]です。ここでは、C:直下にPHPをインストールした場合の例として、[ ;C:\php ]として、OKで保存します(他にインストールされた方は、読みかえてください)。;(セミコロン)を入れ忘れないようにすることと、既存の部分を消してしまわないよう注意してくださいね。心配な方は、編集前の変数値部分をコピーして、テキストファイルなどにとっておくといいかもしれません。
この後は、全てOKにしてウィンドウを閉じ、OSを再起動してください。
OSを再起動したら、コマンドプロンプトを起動します。起動方法は、
「スタートメニュー」→「全てのプログラム」→「アクセサリ」→「コマンドプロンプト」です。
そこで、php -v とコマンドを打って、下記のようにPHPのバージョンが表示されればパスが通っていますので成功です。
php.iniの設定を見直す
php.ini-distを基にして作られたphp.iniですが、ざっと見てみたところ、直しておいた方がいいところが見られました。次の項目をチェックしておくといいでしょう。※設定を変更した後は、Apacheの再起動をお忘れ無く!
ショートオープンタグの無効化
これは、<?というショートタグもPHPとして分析させてしまう設定なので、Offにしておくといいでしょう。なぜなら、XML宣言(<?xml version~)でもPHPとして実行しようとするため、エラーとなってしまうからです。
83行目付近の変更前。
下記のようにします。;(セミコロン)の行はコメントとして扱われます。直接値を変更してもかまいませんが、この方が後でどこを変えたか分かりやすいです。
short_open_tag = Off
エラーレポートのレベルを引き上げ
これは、現時点で全ての人にお勧めする訳ではありません。より厳格なPHPコードを書けるようにするために、エラーの出る条件を高める設定です。開発環境ではバグを無くすため、よくこのような設定が行われます。しかし、少しPHPに慣れてからでも遅くはないので、PHP初心者の方は、ここはまだ変更しなくてもかまいません。一応ご紹介だけ。
305行目付近の変更前
下記のようにします。繰り返しますが、初心者の方はまずはE_ALL & ~E_NOTICEではじめ、少し慣れてきてからE_ALLにしてもいいです。いずれはE_ALLでエラーが出ないコードを書けるようになればいいと思います。
error_reporting = E_ALL
マジッククォートの無効化
これは、'(アポストロフィー)等をデータベース挿入用に自動的にエスケープしてくれる、お節介な機能です。お節介と言えども、これに助けられるケースもあるのでしょうけれど、そもそもそういったコードをWebに公開してしまうことの方が問題です。データベースに挿入する際は、通常データベース固有のエスケープ処理をするので、この機能は不要です。
445行目付近の変更前。
Offにして無効にします。
magic_quotes_gpc = Off
ひとまずこんな感じです。後で気付いたことがあれば、付け足していきます。
エクステンションディレクトリを登録しておく(11/07/07追記)
PHPは、必要に応じて様々なエクステンション(会話の中ではモジュールと言った方が通じるかもしれません)を読み込んで使うことができます。
今回展開したPHPのフォルダの中の、[ext]フォルダの中には、エクステンション一式が含まれているのですが、初期状態ではここにパスが通っておらず、読み込まれるようになっていません。ですので、エクステンションディレクトリのパスを登録しておきましょう。
php.iniを開いてください。その中で、下記のような場所を探します。私の環境では、491行目にありました。
これを、以下のようにします。C:/php部分は、phpを展開したフォルダのパスに各自読みかえてください。
extension_dir = "C:/php/ext"
Apacheを再起動したら、設定が適用されます。これにより、php.ini内で、任意のエクステンションを読み込むことができるようになります。
エクステンションの読み込み(有効化)
先ほどエクステンションディレクトリを登録しましたが、実際に読み込む指定をしないと有効になりません。600行目付近に、
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
~以下省略~
のような[extension=XX]といった記述があります。デフォルトでは[;(セミコロン)]でコメントアウトされていますので、必要に応じてコメントアウトを解除してください。少なくともマルチバイト関連のエクステンションだけは読み込んでおきましょう。
マルチバイト用エクステンション
日本語関連の関数を使えるようになります。これは必須と言ってもいいでしょう。
;extension=php_mbstring.dll
;変更後
extension=php_mbstring.dll
MySQL用エクステンション
MySQLを使う方は、これを有効にしておきましょう。
;extension=php_mysql.dll
;extension=php_mysqli.dll
;変更後
extension=php_mysql.dll
extension=php_mysqli.dll
PostgreSQL用エクステンション
PostgreSQLを使う方は、これを有効にしておきましょう。
;extension=php_pgsql.dll
;変更後
extension=php_pgsql.dll
12/06/30 facebookページ開設しました。RSS代わりにも使いたいと思います。
コメント
- ゆみママ さん 2011年06月30日12時56分
こんにちは、ゆみママです。 早速PHPをインストールしてみました。 今回は何事もなく、スムーズにインストールできました(^^♪ ありがとうございました!
- 馬場誠 さん 2011年06月30日22時41分
ゆみママさん、こんばんは。 そうおっしゃっていただけると時間をかけて作ったかいがあるというものです。 PHPの学習、楽しんでくださいね!
- 赤木 さん 2011年12月30日18時29分
PHPのインストールが上手くいかないです。 馬場さん、はじめまして。赤木と申します。 PHPを勉強しようと思い御サイトを参考にさせていただいているのですが、PHPのインストールが上手くいかないです。 XAMPP(バージョン 1.7.7)をインストールして #Listen 80 Listen 127.0.0.1:80 を修正・保存してApacheを再起動。 おかげさまでここまでは問題なくできました。 この後、PHP5.2.17をインストールしてApacheのhttpd.confを修正 LoadModule php5_module "C:\php\php5apache2_2.dll" PHPIniDir "C:\php" AddType application/x-httpd-php .php これを行うとApacheを再起動できません。 StartボタンをクリックしてもRunningと一瞬表示されるだけで、Runningになりません。 MySQLは問題なく起動しているのですが。。 Busy... Apache started [port 80] が出ます。 コマンドプロンプトから、 netstat -anoと打って、 TCP 0.0.0.0:80 ~(略 という項目があれば、すでに80番ポートが使用されています。 を試しましたが、TCP 0.0.0.0:80もありませんでした。 httpd.confから LoadModule php5_module "C:\php\php5apache2_2.dll" PHPIniDir "C:\php" AddType application/x-httpd-php .php これを削除するとApacheは起動するのですが… 何が問題なのかここ数日いろいろと試しているのですが全然ダメです。。 なにかアドバイスをいただけたら、嬉しいです。 OSは、WinXP XAMPPはバージョン 1.7.7 •Apache 2.2.21 •MySQL 5.5.16 •PHP 5.3.8 •phpMyAdmin 3.4.5 •FileZilla FTP Server 0.9.39 •Tomcat 7.0.21 (with mod_proxy_ajp as connector) です。よろしくお願いいたします。
- 馬場誠 さん 2011年12月31日14時18分
赤木さん、はじめまして。 まず最初に、お使いのXAMPPにはあらかじめPHP 5.3.8がインストールされていますので、すでにPHPが使えるようになっています。 今回は、別バージョンのPHPをお使いになりたいというような目的でしょうか? ちなみに本ページのPHPのインストールは、単品で新規インストールする場合を想定していたため、XAMPPをお使いの方は、この方法では別バージョンのPHPをインストールすることができません。(というのも、XAMPPでPHPがすでに使えるような設定がされているためです) お休みなので私も試しにやってみましたが、XAMPPで別バージョンのPHPをインストールする場合は、httpd.confではなく、 C:\xampp\apache\conf\extra\ 内の httpd-xampp.conf というファイルを修正します。 httpd-xampp.conf内にすでに LoadModule php5_module ~ PHPIniDir ~ という記載があるので、その部分を今回赤木さんが提示されたように修正して、 LoadFile "C:/xampp/php/php5ts.dll" という部分をコメントアウトしたら、とりあえずPHP5.2.17でPHPを実行できました。 (php5ts.dllは、今回解凍したPHPフォルダにも入っているので、そちらを指定しても動くようです) ただ、httpd-xampp.conf内には、その他XAMPP用のPHPの指定箇所がたくさんあるので、本来はそこも修正したほうが良さそうです。 慣れないうちは難しいと思うので、デフォルトのPHP5.3.8をお使いになる方が無難と言えるかもしれません。
- 赤木 さん 2011年12月31日16時03分
馬場さん、こんにちは赤木です。 大変丁寧なご回答ありがとうございます。解決いたしました。 馬場さんのサイトでも説明されているように、すでにPHPが使えるようになっているのに、よく理解していないままいろいろと勝手にやってまして… おかげさまでPHPの勉強、頑張れそうです。 私も馬場さんのこのサイトみたいな人の役に立つ素敵なサイトを作れるようになりたいです。 ホントありがとうございました。(^-^*)
- 馬場誠 さん 2012年01月01日13時54分
深読みしてしまったようですみません(^^;) 役に立つサイトと言っていただけるのが、サイト運営者としてこの上ない喜びです。 ありがとうございます。 またなにかありましたらお気軽にコメントください☆
- ゆみママ さん 2012年01月11日16時29分
馬場様、こんにちは。 お忙しいところ恐れ入ります。 今ある壁にぶつかっていて、解決方法が見つからず、こちらから投稿いたしました。 ご存じのとおり、私はApache, PHP, MySQL, ActivePerl, phpMyAdminをすべて単体でインストールしました。 ブログはwordpressで作っているのですが、いろいろと試したいことがあって、既存のリモートにあるwordpressを、全ファイルローカル環境にダウンロードしたのですが、うまく動作しません。 ログイン画面はきちんと表示されるので、リモートのアカウントでログインすると、Index of/wp と表示されてwpフォルダに入っているファイルが一覧で表示されてしまいます。 今のローカル環境です。 Windows Vista Apache 2.2.16(win32) PHP 5.2.17 MySQL 5.5.14 phpMyAdmin3.4.5 です。 phpMyAdminでは、「お使いの PHP MySQL ライブラリのバージョン 5.0.51a が MySQL サーバのバージョン 5.5.14 と異なります。」という警告が出ています。。が、特に何も対処せず、そのまま使っています。(って、これがいけないのでしょうか…) PHPの勉強で簡単なプログラムを実行すると、きちんと表示されています。 今これにかかりっきりで、訳が分からなくなっています(汗) どんなことをチェックすればよいでしょうか? アドバイスなどいただけましたら嬉しく思います。 よろしくお願いいたします。
- 馬場誠 さん 2012年01月11日21時08分
ゆみママさん、こんばんは。 状況から推測するに、おそらくはApacheのDirectoryIndexディレクティブの問題のように思われます。 DirectoryIndexとは、ディレクトリ(http://example.jp/wp/等)にアクセスした際に、読み込むファイルの設定です。 一般的にはindex.htmlやindex.htmが設定されていることが多いですね。 Wordpressのトップページ等はindex.phpが読み込まれる必要があるのですが、単品インストールのApacheは、DirectoryIndexにindex.phpが設定されていなかったように思います。 httpd.conf内を DirectoryIndex で検索すれば該当部分が見つかると思いますので、そこにindex.phpを足してみてください。 例えば DirectoryIndex index.htm index.html となっていたら、 DirectoryIndex index.htm index.html index.php のような感じで半角スペースで区切って指定します。 (左に指定する程優先度が高くなります) ちなみに.htaccessでも設定可能ですよ。 余談ですが、ディレクトリにアクセスした際、DirectoryIndexで指定されたファイルが見つからなかった場合は、Apacheの設定によっては今回のようにディレクトリの一覧が表示されます。 ローカルでは問題ありませんが、本番サーバでは、意図的な場合を除き表示しない方がセキュリティ上好ましいです。知っておいた方がいいことですので、詳しくは「Optionsディレクティブ Indexes」などで調べてみてください。 それとMySQLライブラリのバージョンですが、合わせておいた方がいいことは間違いありません。ただ、ローカル環境なので、問題が出た時に対応してもいいかな、とも思います(^^;)
- ゆみママ さん 2012年01月11日22時45分
こんばんは。 ご回答ありがとうございます! httpd.conf内のDirectoryIndexを確認したら、index.htmlのみになっていました。 index.phpを加えて、Apacheを再起動させたらローカルできちんとwordpressが動作するようになりました。 何日もここでハマっていたので、動いたらすごく感動しました!本当にありがとうございました!感謝いたします。 これでスッキリ!やりたいことをガンガン試してみます(^^♪ ディレクトリ制御を検索しました。すごく勉強になったので、自分メモします(*^_^*) MySQLのバージョンの問題はどうやらまだ大丈夫みたいですので、とりあえずこのまま進めてみます(笑)
- 馬場誠 さん 2012年01月12日20時08分
解決して良かったです。 ローカルでWordPressを同様に動かすには、データベースのアカウント作成やコピー等、ちょっと難しいポイントがあったと思います。どんどん成長されていることが伺えますね(^-^)。その調子でがんばってください☆
- 超カルガモ隊 さん 2012年04月30日23時36分
今日昼ごろから、ApacheとPHPの設定をやってて、いろいろなサイトを見てやってたのですが、なかなかうまく行きませんでした。 特に LoadModule php5_module~ のところで躓きました。 もう無理かなと思ってコーヒーを飲みながら検索してたら、あなた様のサイトを発見し先ほどphpinfoの画面が表示されました。 めちゃめちゃわかりやすかったです。 ありがとうございました。
- 馬場誠 さん 2012年05月01日19時15分
超カルガモ隊さん、こんばんは。 こういった設定は、1カ所の些細な間違いでも思うように動かなかったりするので、慣れないと大変ですよね。 分かりやすかったとおっしゃっていただいて私もうれしいです。 こちらこそありがとうございました(^^)
- 零 さん 2013年01月11日13時57分
このサイトを読んで、いろいろ勉強させていただいている者です^^ このページで、行き詰ってしまった箇所があるので質問させていただきます。 自身は、 Apacheを単体でインストールし、 PHPをインストールしました。 このページの「実行してみる」の項目で、 <?php phpinfo(); ?> を記載した「index.php」ファイルを作るまではできたのですが、 配置場所がわからない状態です。 拡張子は、[ .php ]にして、公開ディレクトリ以下に配置してください。 と記載されておりますが、 「公開ディレクトリ以下」とは、どこの箇所でしょうか。 よろしければ、ご回答の方、よろしくお願いします。
- 馬場誠 さん 2013年01月11日19時52分
零さん、こんばんは。 本ページで記載した公開ディレクトリとは、httpにてWebサーバにアクセスできる最上位ディレクトリのことを指しています。 Apacheの初期状態で言えば、 http://localhost/ に対応するのは、 C:\Program Files\Apache Software Foundation\Apache2.X\htdocs もしくは C:\Program Files (x86)\Apache Software Foundation\Apache2.X\htdocs となると思います。(OSにより多少異なります)。 後者だと仮定して、今回の例で言えば、 C:\Program Files (x86)\Apache Software Foundation\Apache2.X\htdocs 内にindex.phpを配置したとすれば、 http://localhost/index.php で動作確認する……という形になります。 ※もしもApacheの設定ファイルであるhttpd.conf内の、DocumentRootをご自身で変更されている場合は、そこで指定したDocumentRootが公開ディレクトリになります。
- 零 さん 2013年01月12日10時20分
ご回答ありがとうございます。 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\htdocs 内に index.phpを入れる事ができました^^ しかし、http://localhost/index.phpを入力し、 ブラウザで確認致しましたところ、 ブラウザ画面にて、 PHPの情報画面ではなく、 真っ白の背景に <?php phpinfo(); ?> という文字が表示されてしまいました^^; この状態になってしまうのは何が原因の可能性がありますでしょうか。 よろしくお願いします。
- 馬場誠 さん 2013年01月12日14時37分
ファイルが、PHPとして認識されていないようですね。 サーバは動いているようですので、httpd.conf内のPHPの設定に問題があると思われます。 httpd.conf内の、下記のあたりを再チェックしてみてください。 LoadModule php5_module "C:\php\php5apache2_2.dll" PHPIniDir "C:\php" AddType application/x-httpd-php .php ※本ページと全く同様にインストールされたのであれば、上記で大丈夫です。 また、この場合C:フォルダ内にphpフォルダが存在するかもご確認ください。
- 零 さん 2013年01月12日17時30分
C:フォルダ内に「php」フォルダがある事を確認致しました。 「httpd.conf」内にて、ファイルの最後に、 LoadModule php5_module "C:\php\php5apache2_2.dll" PHPIniDir "C:\php" AddType application/x-httpd-php .php と記載している事を改めて確認した上で、 (念の為、上記の文を一度削除し、コピー&ペーストし直しましたので、記載にミスはありません。) Apacheを再起動し、 再度、動作を確認しましたところ、 やはり、真っ白の背景に <?php phpinfo(); ?> という文字が表示されてしまいました。 何かミスがあるかと思い、 phpフォルダを削除し、 再度、本ページを確認しながら、 phpをインストールし直し、 動作を確認致しましたが、 やはり結果は変わりませんでした。 サイト内のページを確認しながら、 「Apache」→「PHP」と全く同様の手順でインストールを行っており、 特にミスはないかと思うのですが、 もし何か問題と思い浮かばれる箇所があるのであれば、 ご回答お願いできますでしょうか。 ※C:の中に「php」フォルダがあり、 「php」フォルダの中に「php5apache2_2.dll」 がある事も確認しております。 ※http://localhost/と入力した際、 ブラウザには「It works!」と表示されます。
- 馬場誠 さん 2013年01月13日13時04分
考えてみましたが、内容を拝見する限りでは、明らかな問題点は見つからないですね。 ご投稿いただいた情報から、今回はWindows7の64bit版だと思いますが、ちょうど同環境を新規インストールした直後のほぼまっさらなPCがあったので、私も改めて試してみました。 Apache&PHPは下記を選択し、 httpd-2.2.22-win32-x86-no_ssl.msi PHP 5.2 (5.2.17) VC6 x86 Thread Safeのzip版 このページの内容で(httpd.confの部分はコピペ入力)インストールしましたが、特に問題なくPHPが実行されました。 どこかに原因があるはずですので、1ステップずつ切り分けていけば分かりそうですが、インストール直後でしたら、再インストールを試みる(Apacheをアンインストール&Apacheフォルダ&PHPフォルダを削除)・もしくはXAMPPを選択された方が早いかもしれません。 もしこのまま問題解決にチャレンジされる場合は、 LoadModule php5_module "C:\php\php5apache2_2.dll" の C:\php\php5apache2_2.dll 部分を、一度適当な文字(存在しないファイル)に変更してみて、Apacheが起動するかを確認されるといいと思います。 ここでPHPモジュールがロードできない場合は、Apacheがエラーになって起動しないはずです。このチェックを行うことで、モジュールのロード部分までできていたかどうかが切り分けられそうです。
- 零 さん 2013年01月13日19時00分
ApacheとPHPをアンインストールして、 XAMPPをインストールして、 動作確認を行ったところ、 問題なく動作を確認することができました^^ また、「htdocs」内に、 <?php phpinfo(); ?> と入力した「index.php」をを入れた場合も、 PHPの情報画面が表示されました^^ 詳しいご回答ありがとうございました^^
- 馬場誠 さん 2013年01月14日14時39分
XAMPPはやはり一番手っ取り早い方法ですね。 慣れてくると個別にインストールした方が便利になってくるので、いずれまたチャレンジなさってみてください。
- Norihiro さん 2013年05月07日19時08分
このサイトはすごく親切なので一気に一度読破しました。 ありがとうございます。 ただ、零さんと同じ問題でつまづいてあきらめました。 一度ApacheとPHPとMySQLを単独でインストールしたかったのですが、 ここで止まってもしょうがないのかな? XAMPPをインストールしようかな? Windows7の64bit版で、Apache&PHPは下記を選択しました。 httpd-2.2.22-win32-x86-no_ssl.msi PHP 5.2 (5.2.17) VC6 x86 Thread Safeのzip版 http://localhost/index.phpにアクセスすると 「<?php phpinfo(); ?>」 が表示されます。 なかなかスムーズにいかないですね。
- 馬場誠 さん 2013年05月07日22時19分
Norihiroさん 午前中にコメントをいただいて、あれから全てお読みくださったのですね。 ありがとうございます、うれしいです(^-^) このまま問題解決に挑戦されるなら、零さんへのレスに書きましたように、まずはモジュールがロードできているかを切り分けるところからでしょうか。そこからさらに、問題点を探すことになると思います。 あれこれ問題解決にトライするのも無駄な時間ではありませんが、ここで止まったままになってしまうのなら、XAMPPもありかもしれませんね。
- Norihiro さん 2013年05月08日10時45分
早速のコメントありがとうございます。 零さんのレスにあったように、パスの部分を一度適当な文字(存在しないファイル)に変更してみたら、Apacheは正常に起動したのですが、結果は同じでした。 このままだと、止まったままになってしまうので、XAMPPをインストールしたらうまくいきました。 まずはグラフィック系の壁を打ち崩したいので、100サイト作成できるか自信はないですが、これで数多くのいろんなサイトを作成していきたいです。 いつかはLAMP環境も作ってみたいので、個別インストールは後日チャレンジしてみます。 今後ともよろしくお願いします。
- 馬場誠 さん 2013年05月09日23時00分
存在しないファイルを指定した場合、Apache自体が起動せずにエラーとなります。起動したとのことですので、そのLoadModule部分が読まれていないか、なんらかの原因で違うファイル(?)を修正している可能性が考えられると思います。 すでにXAMPPで解決されていますが、さらに切り分けていくことで、少しずつ問題箇所を特定していくのも結構たのしいですので、いつかチャレンジなさってみてください(^-^) これで学習環境はバッチリですね!楽しんで学んでみてください☆
- Kira さん 2019年09月26日15時25分
記事を読みましたが、内容がめっちゃ古くて難航してます。 今はPHP7.xになっているので、なかなか動きません。 ご教授お願い致します。
- 馬場誠 さん 2019年09月26日17時50分
Kiraさん、こんにちは。 お役に立てず申し訳ありません。 おっしゃるとおり本ページは9年前のPHP5.2系当時の記事ですので、めっちゃ古いです。 私が言うのもなんですが、PHP7であればもっと新しい記事がたくさんあるので、そちらを参考にした方が良いです。 実はPHP設定だけであれば、本ページのバージョンを読み替えていただければそのまま通じるのですが、 (例 php5→php7 apache2_2→apache2_4 実際ポイントとなるのはWindows用にコンパイルされたApacheとの組み合わせと思います。 (PHP、Apacheどちらが新しすぎてもだめな時がある) 最近書かれた記事で、確実に動作検証された組み合わせをお使いになるのが良いでしょう。 php7.x Apache Windows などで調べてみると、たくさん例が見つかると思います。
- Kira さん 2019年09月30日10時25分
馬場誠 さん 色々アドバイスありがとうございます。 色々サイトをググりながら一つ一つ構築しました。 無事に構築できました。 このサイトはいつ改訂版になるのでしょうか?
- 馬場誠 さん 2019年09月30日17時23分
Kiraさん、こんにちは。 できたようで良かったです。 具体的にいついつとはまだ確定できませんが、情報が古くなっているのでサイト全体のリニューアルを予定しています。 取り急ぎ、バージョンが古い旨をページの上部に注意として入れました。 早く全て書き直さなければならないと強く感じています。
↓もし参考になりましたら、シェアしていただけると嬉しいです(^-^)