このサイトはPHPを独習する際に作成したスクリプトを基に、プログラム言語初心者のための入門講座として作成しました。PHPは初心者に親しみやすく、解りやすいプログラム言語です。これからプログラムを学ぶ人の参考になればと思います。
Windows7 に Appache 2.2 と PHP5 をインストール
ついにWindows7 のマシンを購入、CPUはCorei7!って喜んでいたのですが、久しぶりにAppacheとPHPのインストールが必要です。「まぁ、楽勝だろう」と考えていたのですが無茶苦茶苦労してしまいました。調べるとインストールが上手くいかない方ってほんと多いですね。今回かなり色々とわかりましたので、記録しておきます。
2010年5月12日(水)
Apache のインストール中にメッセージ
(OS 10048)通常、各ソケット アドレスに対してプロトコル、ネットワーク アドレス、またはポートのどれか 1 つのみを使用できます。 : make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down とメッセージがでます。どうやらポートが使用中で使えないようです。これの解決に1時間弱かかりましたが、何のことはないですね。 Skypeスカイプのせいです。 ツール→設定→詳細設定→接続で「上記のポートに代わり80を使用」のチェックを外せばOKです。
httpd.conf の追加で保存ができなくなる
httpd.conf に数行の追加を行って上書きをします。ところが「アクセス権がない」とのメッセージがでます。仕方なく別の場所に保存、ファイルを移動で上書きコピーしてみましたが、やはりダメです。しかしこれは再起動で上書き可能になりました。
Apache が起動しない
Apache をインストールした直後は「ItWorks」が表示されていたのですが、httpd.conf を書き換えPHPをセッティングした後にApache を見ると起動していません。Startを選ぶと "The requested operation has failed!" となって起動できないのです。httpd.conf の追記が間違っているのかと、色々試行錯誤するも解決せず。ここでいったん中止!
PHPini の書き換えをもう一度確認
PHPini の書き換えも慎重に行うべきですね。間違うと起動しなくなる可能性はあります。しかし、どう見ても間違いはないようでした。ここで、あることに気がついたのです。 「php5ts.dll」をwindows フォルダにコピーしてない!」馬鹿ですね。これが原因でした。
Windows7 とPHP
Windows7 に乗り換えるにあたって多少心配はしていたのですが、作業中は悩みました。Apache のバージョンを落とした方がいい、などと言う意見のもありました。しかし結果的にはなんの問題もなく使えるようです。早くて快適です。(笑)
文字化けで玉砕
これで、すべて解決と思い、これまでに作ったスクリプトを動かしてみると、なんと文字化けです。基本的にEUC-JPで作っているのですがなぜかUTF-8になってしまうのです。ブラウザのエンコードを変更すれば正しく表示するのですがsubmitのボタンでもUTF-8に戻ってしまいます。 そこからしばらく調べまくり、PNPiniの書き換え output_buffering = Off ; default_charset = EUC-JP mbstring.language = Japanese mbstring.encoding_translation = off mbstring.http_input = pass mbstring.http_output = pass mbstring.internal_encoding = EUC-JP mbstring.substitute_character = none mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII この部分ですね。行いましたが、やはりUTF-8です。 さらにApacheのバージョンを以前使っていた2.0.55に戻したり、PHPのバージョンを4にしたり、散々格闘したのですがすべて玉砕に終わりました。
最後の手段は
最後の手段はあまり使いたくなかったというか、どうも新しい方法は手がつけにくいのでやったことがなかったのですがXAMPPを試してみたのです。驚きましたね、知ってはいたのですが使ったのは初めてです。面倒なインストール作業は一切なく完全な環境があっという間に作れます。今までの苦労は一体なんだったんだ!!!
|