goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

PHP 5+MySQL 5の組み合わせで、動かすためのインストールのまとめ

2005-11-04 14:34:11 | Weblog

 前に書いた、PHPのインストール方法「だけしか、しない」で、MySQLをいれただけだと
  PHP4.0+MySQL4.0ならうまくいくけど、ほかのバージョンだとうまくいかない。

 (MySQLのバージョンをあげると、エラーになる。PHPを5.0にすると、暴走する)

 そこで、この、PHP5.0+MySQL5.0のインストールメモ。




前提:
以前のPHPの入れ方のところまでは、できているとして、そのつづき

1.ファイルの存在の確認
  PHPを解凍してできたフォルダ(ここではC:phpにおいてあるとする)の下に、以下のファイルとフォルダがあることを確認します(ほかにもいっぱいある)
libmysql.dll
ext

 さらに、そのextというフォルダがあり、そのフォルダに以下のファイルがある(ほかにもいっぱいファイルがある)ことを確認します。
php_mysql.dll
php_mysqli.dll

2.php.iniの修正
■■2-1.extension_dir修正
 前の作業で、C:WINDOWSにおいた、php.iniのなかにあるextension_dirに、extフォルダのパスを指定します。以下のようなかんじ

 extension_dir = "C:¥php¥ext"

なお、¥は、(ここでは全角になっているが)本当は、半角(くわしくは、コメントの2番目参照)

■■2-2.extensionにphp_mysql、php_mysqli追加
以下のように書いてある行があるので
;extension=php_mysql.dll

前の;をはずして、こうします

extension=php_mysql.dll

ついでに(??)php_mysqliも追加してしまいます。以下の行を追加してください(php_mysqlのあとiがついているのがちがうところ)

extension=php_mysqli.dll

3.libmysql.dllをいれる
 1で指定したlibmysql.dllを、WINDOWS¥SYSTEM32 (¥は半角)の下にコピーします。


4.Apache再起動
 Apacheを再起動します。
 ここで、前のとき同様、動作確認。

5.MySQL5.0をインストール
MySQL5.0をここからダウンロードして、インストール。インストールのとき、サインアップはしなかった(スキップした)configureのほうは、やって、SJISにした以外は、基本的にデフォルト。

 で、ルートのパスワードはrootにしたら、一回目はうまくいった(気がした、失敗してたのかも。。)けど、再インストール(2度目)以降は、うまくいかなくなった。
 けど、失敗しても、パスワードはルートに設定されていたので、まいっか。

(追加11月13日)
→よくない。場合によっては、登録されないようだ。
 configureの最初の画面で、2つでてくる。このとき、下のStanderdだったかな??を設定して、最後のパスワードのところに、適当にパスワードを設定してあげると、正常終了した。


6.動作確認する
ユーザーテーブルを見るこんなPHPを書いて、みた。
<HTML>
<BODY>

<?php
	print("<H1>結果</H1>");

	//DBへ接続開始 サーバー名--localhost ユーザー名--root パスワード--root
	$dbHandle = mysql_connect('localhost','root','root');

	//DBの接続に失敗した場合はエラー表示をおこない処理中断
	if ($dbHandle == False)
	{
		print ('can not connect dbn');	
		exit;
	}

	$db = 'mysql';	//db名:システムにある  

	//SQL文 tab1表から全行を取り出し、number列の昇順に整列する
	$sql = 'select * from user';

	//SQL文を実行する
	$rs = mysql_db_query($db,$sql);
	if (!$rs)
	{
		print("SQLの実行に失敗しました。");
		exit;
	}

	//列数を取得する
	$num = mysql_num_fields($rs);

	//HTML文を出力 テーブルの開始を指定
	print("<table border=1>");

	//test表の列数と同じ回数を繰り返す
	for ($i=0;$i<$num;$i++)
	{

		//HTML文を出力 列名を <td>で囲んで出力
		print("<td>".mysql_field_name($rs,$i)."</td>");
	}

	//test表の行数と同じ回数を繰り返す
	while($row=mysql_fetch_array($rs))
	{

		//HTML文を出力 表の行の開始<tr> を出力
		print("<tr>");
	
		//test表の列数と同じ回数を繰り返す
		for($j=0;$j<$num;$j++)
		{
	
			//HTML文を出力 列の内容を <td>で囲んで出力
			print("<td>".$row[$j]."</td>");
		}
		//HTML文を出力 表の改行</tr> を出力
		print("</tr>");
	}

	//HTML文を出力 テーブルの終了を指定
	print("</table>");


	//結果レコードをメモリから開放
	mysql_free_result($rs);

	//DBへの接続を切断
	mysql_close($dbHandle);

?>
</BODY>
</HTML>


(なお、<>は、本当はすべて半角)

rootのパスワード(インストールの最後、configureで設定したもの)が"root以外だったら、
$dbHandle = mysql_connect('localhost','root','root');
の3番目の引数をパスワードにする。たとえば、パスワードが、HappyBirthdayだとしたら、
$dbHandle = mysql_connect('localhost','root','HappyBirtyday');
となる

これで、ユーザー(すくなくともルートはいるはず)が登録されていればOK


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 東証につづき、名古屋証券取... | トップ | PHPでMySQLを使ってトランザ... »
最新の画像もっと見る

Weblog」カテゴリの最新記事