- 2006-11-19 (日) 19:56
- Web関連


- Apache2.2とPHP5.2:インストール
いやぁ~、はまった!はまった!
軽~ぅく考えてたんだけど、お約束通りどっぷりハマっちゃいました。
今回インストールしたのは、Apache2.2.3とPHP5.2の組み合わせ。
インストーラ自体は結構いい感じで、サクサクって終わるつもりだったのに、結局つまらない所で引っかかっちゃいました。
まずは、Windows用のバイナリーインストーラでApache2.2.3をインストール。結構構成が違うらしいと聞いていたんで、上書きせずにインストールしてみました。
Apacheの方はウスウスっとインストール終了。とりあえず、何にも考えずにlocalhostっと。
なんだぁ、ずいぶんシンプルじゃん!
「It works!」ってメッセージのみ。前のマルチランゲージで作られた、管理者うんぬんっていうメッセージじゃなくなりましたね。まぁ、どうせ消しちゃうファイルだから良いけどさ。
それでは、前のhttpd.conf見ながら、新しいhttpd.confを修正。
お~~っ、結構作りが変わってます。
一般的でない設定の類が、conf/extra以下の別ファイルになって、必要な時だけインクルードするようになってるみたい。
httpd -k uninstall -n Apache2になりました。ちなみに、Apache2.2のサービス名は「Apache2.2」です。
で、こっからがつまづきの連続。
PHP5.2のWindows用インストーラ。今まで最低限のファイルしか入れてくれなかったインストーラ版ですが、zipアーカイブ版より大きなファイルになってます。だから、Pear使いたい場合でもインストーラ版でだいじょぶ。(これは、いつから? もしかして5.0以降かな?)
インストールではWebServerの設定やPearのインストールも選択でき、前情報通りApacheにはApache2.2といのも選べるようになってます。
それで、インストーラ任せにしてみたら、なんかファイルのインストール自体は問題ないみたいだけど、インストーラが意味不明のエラーを表示してくれます。
「うまくいかなかったみたいなんで調べてね」みたいな、なんも参考にならないエラーメッセージです。
まず真っ先にhttpd.conf見たら、変わってないじゃん!という事でそれがエラーみたいですね。
で見たところ、php5ts.dllが移動した風もないし、結局マニュアルで設定しなきゃならないみたい。
それでも、今まではApache2.2用のDLLは、別なところで探してこなくちゃならなかったみたいなんで、ずいぶん楽かもしれないが。
ただ、PHPフォルダのinstall.txtの情報は、すごく解りずらい上にApache2.2の情報を追記として足してあるんで、Apache2と内容を読み分けるのに苦労した。
Apache用のDLL名はphp5_apache.dllや、php5_apache2.dllという風に、割と解りやすい名前になってるが、今回の2.2用はphp5_apache2_2.dllと、ちょっと苦し紛れ。まぁ、判別は付くんで良しとしときましょう。
でいつもの、LoadModule php5_module "C:/usr/local/PHP/php5apache2_2.dll"を書いてやる。
デフォルトのphp.iniのまま起動すると、取りあえずエラーなしで起動。
そこで、オモムロにphp.iniの編集を開始。
あぁ、やっぱりデフォルトのショートタグはオフじゃん、なんて思いながら編集しました。
どうやら、PHP5からMySQLのデフォルトサポートはなくなったみたいで、自分で読み込みを宣言しなくちゃいけなくなったみたい。
また、今までのPHPエクステンションの場所がextensionだったのに、extに変わったらしい。
だから内容的にPHP4のままのphp.iniだと、extensionがみつからないみたい。
こっからが、はまりまくり。extension_dirを正しく入力したとたん、ダイナミックリンクライブラリが見つからないとのエラーが出まくる出まくる。
DLLの場所がらみっぽいなと、色々情報を探したのでは、MySQLのライブラリ(libmysql.dll)がPHPフォルダとMySQL/binフォルダの2個所にあるのが原因ってのが見つかりました。
要は環境変数のパスを見て探してくんだけど・・・・ってやつ。取りあえず、双方から削除して、system32フォルダに移してみたが、なぜか解決せず。
そのうち、なんかメッセージに指定してないエクステンションが出てきてる気がしてきた。
もう一度、php.iniを確認してみると・・・・ナント紅鶴拳
最後の方にずら~っと、エクステンションのオンパレード。なんなんでしょこれ?
いつついたんだろう?
ここを削除したら簡単に起動しちゃいました。
あぁ~疲れた。でもちゃんとスクリプト動くのかなぁ?
とりあえずそのままで、表示できてるっぽいけド。
- Newer >: Javascriptの動作でリンクを変更する
- < Older: links for 2006-11-16
ping a Trackback
- TrackBack URL for this entry.(1)
Comments:(2)
-
said
February 13, 2007 6:35 PM
|
ReplyThis!
はじめまして。
はまってます、正に、今!tt そして検索しまくりinginging...いつになったら解決するのか、全く不明です。
mysqlどころか、それ以前の問題ですが・・・phpinfo() すら表示されないという。総当たりの ini と conf あぁ・・・目が痛いよぉtt-
-
replied for
apro's comment
February 13, 2007 10:23 PM
|
ReplyThis!
どうも、はじめまして。
httpd.conf や php.ini を何度も書き換えた事があるなら、落ち着いてその2つをじっくり見れば、意外と落とし穴に気づきますよ。
実はその、落ち着いてってのが一番難しいんですけどね。結構Apache2.0と2.2 PHP4.3と5.2 の違い(ディレクトリ名の違いとか、オプション設定の読み込み方の違いとか)でつまずいたのが、ほとんどでした。
-




スクリプトの読み込みが完了していません。
メールフォーム(Javascriptを使用していません)や、
Twitter経由のCommentでもReplyいたします。ただし返信はブログのコメントとして行う事もあります。