プロが教えるわが家の防犯対策術!

phpを勉強しようと思い、xampp1.6.3.aをWindows Vistaにインストールしてから5ヵ月くらい過ぎましたがいまだにxamppの設定がさっぱりわかりません、情報が少ないしバージョンが違って説明通りいかなかったり、書いていることも非常に難しくてチンプンカンプンで意味もわからずあちこちのサイトや入門書から部分的にあれこれいじり今ではグチャグチャです。とにかくわからないことが多すぎて、何回かにわけて質問させていただこうかと思ってますがどうぞよろしくお願いします。

今回の質問内容なんですが、php.iniについてなんですが、現在php.iniが4つあります。その4つあるphp.iniの場所は、

(1)Cドライブのwindowsフォルダの中 
php5の入門書に書かれていた、――「C:\php」フォルダ直下にある「php.ini-dist」を「php.ini」に名前変更した上で、「windows」フォルダに移動します。――というところを参考にしました。
この本はxamppを使ってないので食い違うところがありました(phpフォルダの中にphp.ini-distというものはなく、最初からphp.iniだったような気がします。)が気にせずとりあえず「windows」フォルダに移動させました。主な設定はここのphp.iniで行っています。

(2)xamppフォルダの中のphpフォルダの中 
このphp.iniは、Vistaにxampp1.6.3をインストールするとコマンドラインから何かしようとしたとき(php -v とか、コマンドライン上でphpスクリプトを実行したりとか、go-pear.batとか実行したとき)、「Cliは動作を停止しました」とかになるので困ってインターネットで調べていたらとあるサイトで――「それはXAMPPが使っているPHPがヘンなんだよ。ZIPから解凍して上書きしてごらん」――と書かれているのを発見して、最新のphpをダウンロードしてzipファイルを解凍して、xamppフォルダの中に放り込んで元々あったphpフォルダに上書き保存したものです。ここのphp.iniは全くいじってません。

(3)xampp/apache/binの中 
xamppをインストールしてわけもわからず設定してしばらく経ったある日、アパッチフレンズのサイトを見たらQ&Aコーナーに、
――"php.ini"が3つありますが、どれを修正すればよいですか?「\xampp\apache\bin\php.ini このファイルを修正してください。」\xampp\phpディレクトリのファイルはPHPがCGI/CLIモードの時のみ有効です。 \xampp\apache\bin\php.ini このファイルがwebサーバ用のファイルです。――
と書いてあるのを発見して、それまでwindowsフォルダの中のphp.iniをいじってたのがおかしいことに気づき、ここのフォルダ内のphp.iniはごみ箱に捨て、windowsフォルダの中のphp.iniをこっちにコピーしたら、なんか動作がおかしくなってエラーばかり起こるようになったのでやっぱり元に戻しました。そのあとははっきり覚えていませんが少しいじったようです(いくつかコメントが取り払われてました)。

(4)xampp/php/php4の中
これはたぶんPHP4を使う人がいじるところだと思い、たぶんずっとPHP5を使うので関係ないと思いまったくいじってません。
(よくわかりませんがレンタルサーバーによってはPHP4のみOKのところとかあるみたいですね。正直今さらPHP4なんて、PHP5だけでも厳しいのに覚えること多すぎてやりたくないのですが、イヤでもやらざるを得ない時が来るのかも知れませんね。)

こうなってます。とりあえず表向きは動いてますがどうもなにかおかしな気がします{コマンドラインで実行するphpスクリプトのサンプルが動かなかった(sqlite_openとかしたらFatal Errorになる、しかしブラウザ上では問題なく動く)りします}。

ちょっと説明が長ったらしくなりましたが、気になるところは、xamppを使っているなら、別にxampp/phpの中のphp.iniはwindowsフォルダに移動させる必要はないのじゃないのかというところと、あと実質いじらなければいけないphp.iniは(3)xampp/apache/binの中だと思うんですが、コマンドラインでも動かそうとするなら(2)xamppフォルダの中のphpフォルダの中のphp.iniもいじらなければならないと思います。その際
(3)xampp/apache/binの中のphp.iniと全く同じ設定でいいのか、それともコマンドライン向けの特殊な設定がいるのかといったところも気になります。
また、おかしくなったときのために全くいじってないphp.iniをメモリーカードにとってますがこれがどこのphp.iniのものかわかりません。xamppをインストールしたてのときの各フォルダにあるphp.iniはすべてまったく同じものなのでしょうか?

うまく説明できませんが、どなたか正しい設定の仕方等教えていただけませんか。

A 回答 (5件)

「XAMPPがイライラするのでいっそのこと個別にインストールしてみました」MEMO



--------------------
1.Apacheをインストール
--------------------
1-1.最新安定版apache_2.x.x-win32-x86-openssl-0.9.8g.msi(sslを使わないならno sslのほうでもいい)をインストール(2.x.xの部分は適宜読み替えてください)。VISTAはprogram files以下にインストールするとファイルを追加するたびにセキュリティ警告が出るらしいのでC直下にインストする方がいいみたい(パスでいえば C:\Apacheとか)。
---------------------
2.phpをインストール
---------------------
2-1.PHPのバイナリファイル(.zipの)をダウンロード(こちらも最新安定版)
2-2.php.iniにて、php/extのあるディレクトリをextension_dirに絶対パスで指定。
2-3.php.iniにて、extension=の項目の、mysqlの文字の入ったdllをすべてコメントアウト解除して有効にする。
2-4).必須ではないが、php.iniのdisplay_errorsはOnに、error_logには絶対パスでファイル名まで含めて指定した方がよい。そうするとエラーが指定したところに出力される。
---------------------
3.Apacheのhttpd.confの設定
---------------------
3-1.以下3行をhttpd.confの自分がわかりやすいところに記入。
<<<
LoadModule php5_module "dllを置くディレクトリ/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "ファイルディレクトリを指定(ファイル名までは指定しない)"
>>>
各設定の解説 -
LoadModule - phpをモジュールとしてApacheに登録。デフォルトの相対パスのトップはapacheをインストールしたフォルダ
AddType - phpファイルをApacheに認識させるための命令
PHPIniDir - php.iniのある場所を指定。相対パスで指定してもよい

3-2.phpのパックに含まれるphp5apache2_2.dllをLoadModuleで指定した場所に。ここまでの設定でApacheとphpは動作しているはず。
---------------------
4.MySQLの設定
---------------------
4-1.最新安定板を入手してインストール。人によってインストール時の設定は違うと思うが、以下に設定例を示す。
<<<
4-1-1.インストール完了後、Configure the MySQL Server nowにチェックを入れてFinish。
4-1-2.Detailed Conf...を選択してNext。
4-1-3.Developer Machineを選択してNext。
4-1-4.Multifunc...を選択してNext。
4-1-5.HDDのイメージが表示されている画面に移るが、ここはデフォルトのままNext。
4-1-6.Decision Sup...を選択してNext。
4-1-7.他の機器などとポート番号が被っていなければデフォルトのままNext。普通は被っていない。
4-1-8.Manual Selec...を選択してsjisを指定し、Next。
4-1-9.Install As Win...とInclude Bin...を選択してNext。
4-1-10.管理者(root)のパスワードを指定してNext。
>>>

ここまででAapche,MySQL,PHPすべて動いているはず。
次はMySQLをブラウザから操作するためのPHPアプリケーションをインストール
---------------------
5.phpMyAdminのインストール
---------------------
書くの面倒になってきました。公式のDoc見てください。
すぐにわかるはずです。なお、これはあくまで私個人のMEMOなので信用しない様にしてください。
    • good
    • 0
この回答へのお礼

非常にわかりやすく説明していただき感謝しています。やはり設定のこととかもっとキッチリ理解したいので、思い切って個別にインストールしようかと思います。本当にありがとうございました。

お礼日時:2008/01/24 21:46

なぜかいろいろな解説サイトに書いてある「php.iniはwindowsフォルダに移動」の手順はいりません。

apacheのhttpd.confの「PHPIniDir」で指定しているディレクトリ(フォルダのことです)にだけ置けばOKです。
ではなぜそんないらないことが書いてあるかといえば、phpがphp.iniを読み込む際、phpがiniを方々探して、最終的に探しに行くのがwindowsフォルダ(だったような気がします)だからです。

php.ini-distはphp.iniのテンプレートです。リネームして使います。もうひとつ同じようなのに、php.ini-recommendedがありますが、これはロースペックPC用のphp.iniのテンプレート(だったような。正確なとこはマニュアルで)です。

(3)のiniはapache側が使うiniで、(2)のiniはコマンドライン側が使うiniです。

phpやapacheなどの設定は公式サイト(もしくはそれに準ずるもの)を見るのが確実です。それ以外の情報は、はっきり言って、信用できません。

P.S
XAMPPは確かに便利ですが、初めて自サーバー立ち上げたい人とかには向いてません(僕はそう思います)。なぜかといえば、何も分からなくてもサーバーが動かせてしまうので、そのままなにも理解しないまま使ってしまう可能性が高いからです。
XAMPPはあくまでWebアプリケーション開発環境を迅速に作るために使うのが普通でしょう。

参考URL:http://www.phppro.jp/phpmanual/php/index.html
    • good
    • 0
この回答へのお礼

とてもわかりやすく教えていただき感謝しています。おかげですっきりしました。

お礼日時:2008/01/24 21:38

 私も先日このような便利なソフトがあると知った初心者です。


 最初何もわかりませんので、とりあえずインストールし、自分で書いたPHPがうまく動くか確認しようとしましたが、動きませんでした。そこで、アンインストール、インストールを繰り返しているうちに要領がわかってきました。80番ポートを使用していないならば、何もせずにインストールをするだけで即試験できるということに気が付きました。そういう点ではとても魅力的です。本格的な運営を考えると、セキュリティ面でいろんな設定を要するようです。できれば、Linuxでサーバーを立てたいものです。しかし、実験、開発用としては一台のウィンドウズPC内で、インストーラのボタンを押すだけで即利用できます。
 イニシャルファイルの設定等はあまり気にせず、まず最初はインストール、アンインストールを繰り返してみてはいかがでしょうか?次に、簡単なコードを書いて少し走らせて様子を見ると良いでしょう。現在1.6.5になっています。

 基本的には#2さんのご意見は良いアドバイスだと思います。
    • good
    • 0
この回答へのお礼

丁寧に対応してくださってありがとうございます。xamppは必要なソフトをまとめてインストールできるだけでなく設定する必要もなかったんですね。

お礼日時:2008/01/24 21:33

そもそも、php.iniをいじって、何をしたいのでしょうか?



XAMPPは、すべて設定済みでインストールされますから、インストールするだけで、何の設定もいじる必要はありません。php.iniを修正する必要も、どこかにコピーする必要もなく、ただインストールするだけですべて動く、それがXAMPPを使う最大のメリットでしょう。一体、何をしたかったのでしょうか。それがわからないと、そもそも何をどう修正すればいいか説明しようがないと思いますよ。

とりあえず、そのXAMPPをアンインストールして、もう一度XAMPPをインストールしなおしましょう。で、何も手を触れずにそのまま使いましょう。そしてちゃんと動くことを確認したら、何をどう設定変更したいのかをきちんと整理して、ここに質問されればよいかと思います。
    • good
    • 0
この回答へのお礼

参考意見ありがとうございました。何もしなくてよかったんですね。

お礼日時:2008/01/24 21:31

なんと言うか突っ込みどころ満載ですがさておき。


phpinfo()で使ってるphp.iniへのパスが表示されるはずです。
参考書云々の前にまずそれを確認しましょう。
ついでにマニュアルをあと42回読みましょう。


それと書籍コーナーを見れば見かけると思うのですが、
php4はサポートが終了し、バグフィクスも夏ごろ以降はされません。
今php4を覚えるのは全くの無駄といってよいでしょう。
    • good
    • 0
この回答へのお礼

参考意見ありがとうございました。PHP4は覚えなくてよさそうでよかったです。

お礼日時:2008/01/24 21:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!