Warning: mysql_query(): No such file or directory in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 166

Warning: mysql_query(): A link to the server could not be established in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 166

Warning: mysql_query(): No such file or directory in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 203

Warning: mysql_query(): A link to the server could not be established in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 203

Warning: mysql_query(): No such file or directory in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 231

Warning: mysql_query(): A link to the server could not be established in /home/takeuchi-bz/www/pc2/wp-content/plugins/astickypostorderer/astickypostorderer.php on line 231
2007 | KUMAOのPC備考録 - Part 2

» 2007のブログ記事

前回のApache(WEBサーバー)に引き続き、PHP5が使えるようにする。

2.PHP5

1.PHP5のダウンロード

以下のサイトより

http://www.php.net/downloads.php

PHPのWindows版のバイナリファイル
PHP 5.2.5 zip package(2007.11.16現在の最新バージョン)
をダウンロードする。

2.インストール

・ダウンロードしたファイルを解凍後、フォルダ名を「php-5.2.5-Win32」等から「php」に変更して。Cドライブの直下に保存する。
C:\php
・C:\php5フォルダにある「php.ini_dist」ファイルを同じ場所にコピーした後、ファイル名を「php.ini」に変更する。

3.Windowsの環境設定

Windows 環境変数PATHに「C:\php」を追加する。

[環境変数追加方法]
 ・「スタート」→「設定」→「コントロールパネル」で、「コントロールパネル」を開き、「システム」を選択する。
 ・「システムの詳細設定」のリンクをクリックする。
 ・「環境変数」ボタンをクリックする。
 ・下段にある「システム環境変数」の中の「Path」をクリックし、その下の「編集」ボタンをクリックする。
 ・「変数値」の既存の文字列の最後に、半角英字で「;C:\php」の7文字を追加する。最初に「;」(セミコロン)を記入するのを忘れない事。
 ・追加記入が終わったら、「OK」ボタンを押す。以下、順次「OK」ボタンを押し、各ダイアログボックスを正常に閉じる。
 ・設定を有効にするため、Windowsを再起動する。

4.PHP5の環境設定

phpスクリプトの文字コードがSJISで、出力エンコーディングがSJISの環境を前提に設定します。

C:\phpの「php.ini」ファイルをテキストエディタで開き以下の箇所を、修正または追加する。

440行目付近
magic_quotes_gpc = On
変更↓
;magic_quotes_gpc = On
magic_quotes_gpc = Off

458行目付近
;default_charset = “iso-8859-1”
変更↓
;default_charset = “iso-8859-1”
default_charset = “Shift_JIS”

479行目付近
doc_root =
変更↓
;doc_root =
doc_root = “C:/kumao/public_html”
(apacheのhttpd.confでDocumentRootに指定したパス。)

486行目付近
extension_dir =
変更↓
;extension_dir =
extension_dir =”C:/php/ext”

605〜649行目付近
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mcrypt.dll

次の項目のコメントアウトを削除し有効にする。

1190行目付近
;mbstring.language = Japanese
変更↓
mbstring.language = Japanese

1194行目付近
;mbstring.internal_encoding = EUC-JP
変更↓
;mbstring.internal_encoding = EUC-JP
mbstring.internal_encoding = SJIS

1197行目付近
;mbstring.http_input = auto
変更↓
mbstring.http_input = auto

1201行目付近
;mbstring.http_output = SJIS
変更↓
mbstring.http_output = SJIS

1208行目付近
;mbstring.encoding_translation = Off
変更↓
;mbstring.encoding_translation = Off
mbstring.encoding_translation = On

1212行目付近
;mbstring.detect_order = auto
変更↓
mbstring.detect_order = auto

1216行目付近

;mbstring.substitute_character = none;
変更↓
;mbstring.substitute_character = none;
mbstring.substitute_character = none;

以上の事をまとめると、
———————————————————–
output_buffering = Off
magic_quotes_gpc = Off
default_charset = Shift_JIS
extension_dir = C:/php/ext
extension = php_mbstring.dll
extension = extension=php_mysql.dll
extension = extension=php_mcrypt.dll
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
————————————————————

ちなみに、phpスクリプトの文字コードがSJISで、出力エンコーディングがEUC_JPの場合は次のようになる。(これは試していません。)
————————————————————
output_buffering = On
output_handler = mb_output_handler
magic_quotes_gpc = Off
default_charset = EUC-JP
extension_dir = C:/php/ext
extension = php_mbstring.dll
mbstring.language = Japanese
mbstring.internal_encoding = SJIS
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
———————————————————-
utf-8の場合はこんな感じ
———————————————————-
output_buffering = Off
magic_quotes_gpc = Off
default_charset = UTF-8
extension_dir = C:/php/ext
extension = php_mbstring.dll
extension = extension=php_mysql.dll
extension = extension=php_mcrypt.dll
mbstring.language = Japanese
mbstring.internal_encoding = utf8
mbstring.http_input = auto
mbstring.http_output = utf8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
————————————————————
5.Apacheのhttpd.confの環境設定

C:\Apache2\confの「httpd.conf」ファイルをテキストエディタで開き、以下の箇所を、修正または追加する。

170行目付近のLoadModuleが並んでいるあたりの最終行
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
追加↓
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule php5_module “C:/php/php5apache2.dll”

これで、C:\php内のphp5apache2.dllが読み込めるようになる。

320行目付近DirectoryIndexの行
DirectoryIndex index.html index.html.var
DirectoryIndex index.htm index.htm.var
追加↓
DirectoryIndex index.html index.html.var
DirectoryIndex index.htm index.htm.var
DirectoryIndex index.php index.php.var

これで、ディレクトリ名でアクセスがあった場合index.phpが表示できるようになる。

770行目付近
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
追加↓
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

任意の場所に以下の1行を追加する。
追加↓
PHPIniDir “C:/php”

6.MySQLを使用するために

PHPフォルダのlibmysql.dllを
Windows 2000の場合はC:\WINNT\system32内に、
Windows XP/Windows Server 2003の場合はC:\Windows\system32内にコピーする。

7.PHPの起動と動作確認

すべての設定が終了したら、Windowsを再起動し、Apacheサーバをスタートさせる。

次のような簡単なPHPスクリプトを作り、ルートディレクトリ(C:\kumao\public_html)にtest.php等の名前を付けて保存する。

—————————
<?php
    phpinfo();
?>
—————————

ブラウザより、http://localhost/test.phpと入力し、次のようなPHPのテスト画面が表示されれば、正常に動作している。
           s-php_01.jpg


CGIスクリプトなどをレンタルサーバーにアップロードする前に自分のパソコンで動作確認をするためのローカ環境を準備した。
その内容を何回かに分けて記載する。

導入環境
OS: Windows Vista Home Premium
プロセッサ: AMD Turion(tm)64*2Mobile technology TL-50 1.60GHz
RAM: 1918MB
PC:NEC Lavie G(ノートパソコン)

今回インストールするもの
1.Apache(WEBサーバー) :以前からインストールしていた
2.PHP
3.Mysql
4.phpMyAdmin
5.ActivePerl :以前からインストールしていた

ここに記載する内容は、私が使いたい機能に限定したローカルでの使用を目的としたものです。サーバーを外部に公開する事は想定しておりません。あくまでもくまおの備考録です。

1.WEBサーバー(Apache)

Apacheが開発・提供しているバージョンは, 1.3.x系と2.x系があるが、くまおのPCにすでに導入済みの物はapache_2.0.59-win32-x86-no_sslである。
2007/10/28現在の最新バージョンはではないが、別にたいしたことはしないので、今回はこのままにする。
で、ここではhttp.confの変更箇所を中心に書くことにする。

1.Apacheのダウンロード
Apacheのページからダウンロードする。ここでは、apache_2.0.59-win32-x86-no_ssl.msi

2.インストール
インストールはウイザードに従って進めていくだけなので詳細は省略。
ただ、インストールディレクトリーは後のことを考えてデフォルトから変更した。

C:\Program files\Apache Group\
変更↓
C:\

これで、Apache関係のファイルはC:\Apache2\の下に置かれることになる。

インストール完了後ブラウザにhttp://127.0.0.1/と入力して、
「あなたの予想に反して、このページが見えているでしょうか?」
と言う不思議な日本語のテストページが見られたらインストールは正常にできている。

3.作業ディレクトリの作成

インストールしたままではドキュメントルートつまり、ファイルやサブディレクトリを配置する場所はC:\Apache2\htdocs\だが、これでは今後CGIスクリプトなどやWebページの動作確認に使いにくいので、別のわかりやすい場所に作業ディレクトリを作る。
また、作業ディレクトリはレンタルサーバーに設置した時の状態に似せるために、まずホームディレクトリを作り、その下に作業ディレクトリであるpublic_htmlを作る。

ホームディレクトリの名前は任意だが、わかりやすく簡単な物がよい。
ここではkumaoとしたので、パスは次のとおりである。

C:\kumao\

そしてホームディレクトリkumaoの下に作業ディレクトリpublic_htmlを作ると、パスは次のようになる。

C:\kumao\public_html\

レンタルサーバーの場合アップロードするホームディレクトリの下にpublic_htmlが有っても、アクセスするURLにはpublic_htmlは書かない。ブラウザにhttp://127.0.0.1/と入力したら、public_htmlにあるトップページのindex.htmやindex.htmlが表示される。

しかし、この方法ではホームディレクトリがひとつしかないので、色々試すには不便だ。
そこで、プロバイダのホームページスペースを借りて時のように、http://127.0.0.1/~kumao/とかhttp://127.0.0.1/~taro/のように複数のURLで別々にアクセスできるようなホームディレクトリも作る。

C:\home\*\public_html\
*の名前は任意でいくつでも作れる。

たとえば、C:\home\kumao\public_html\とすると、http://127.0.0.1/~kumao/でアクセス可能となり、C:\home\blog\public_html\とするとhttp://127.0.0.1/~taro/でアクセスできる。

CGIなどをいろいろ試す時や複数のサイトを作っているときに便利である。

4.httpd.confの修正

Apache2.0.59をCドライブの直下のApache2インストールしたので、すべてのディレクトリやファイルはそこにあるはずである。
これから修正するhttpd.confはその[conf]の下にある。
これで、Apacheを設定するので、まずはエディタで開く。
これから示す行数は編集前のもので、当然、編集するにしたがったずれて行きます。悪しからず。

インストール時、Server Nameを127.0.0.1とし、ポート番号も80にしたので、

212行目
ServerName 127.0.0.1:80

となっているはずである。
もし、初期設定のままだったり、違っていたら修正する。

228行目
DocumentRoot “C:/Apache2/htdocs”
変更↓
#DocumentRoot “C:/Apache2/htdocs”
DocumentRoot “C:/kumao/public_html”

先ほど作った作業ディレクトリC:/kumao/public_htmlを指定する。
kumaoの部分はホームディレクトリの名前。
DocumentRootは複数指定できないので、DocumentRoot “C:/Apache2/htdocs”はコメントアウト(#)し無効にする。

253行目
<Directory “C:/Apache2/htdocs”>
変更↓
#<Directory “C:/Apache2/htdocs”>
<Directory “C:/kumao/public_html”>

282行目の</Directory>までがドキュメントルートに関する設定です。

作業ディレクトリのC:\kumao/public_html/をドキュメントルートに指定したため、public_htmlにあるファイルは、http://127.0.0.1/にファイル名を付けてhttp://127.0.0.1/test.htmlにアクセスすると表示される。また、index.htmlなど優先表示のファイルがあるば、http://127.0.0.1/またはhttp://127.0.0.1だけで表示される。

267行目
Options Indexes FollowSymLinks
変更↓
Options Indexes FollowSymLinks MultiViews ExecCGI lucludes

ドキュメントルート内のオプションです。
FollowSymLinksの後ろに半角スペースで区切ってMultiViewsとExecCGIとlucludesを追加する。
Indexesの頭に”-“を付ける。

MultiViewsは、さまざまな言語やメディアタイプに対応する要求にスムーズに応じられるようにする。
ExecCGIはCGIを、lncludesはSSIが使えるようにする。

Indexesはファイル名を指定せずに、ディレクトリ名のみでアクセスがあった場合、そのディレクトリ内にindex.htmlのような優先表示ファイ
ルが無い場合そのディレクトリ内すべてのファイル名が表示され、外部に公開する場合はセキュリティ上問題があるので、”-“をつけて表示しないようにす
る。
しかし、あくまでもローカルサーバーとしてのみ使用する場合はそのままにし、表示する方が便利である。

290行目
UserDir “My Documents/My Website”
変更↓
UserDir “C:/home/*/public_html”

3.作業ディレクトリの作成の項で作ったホームディレクトリを指定する。ただし、任意の名前部分は*にしておく。

300〜311行目
#<Directory “C:/Documents and Settings/*/My Documents/My Website”>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
#</Directory>
変更↓
<Directory “C:/home/*/public_html“>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch ExecCGI Includes
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST OPTIONS PROPFIND>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

ディレクトリの指定を変更する。
ExecCHGIを追加してCGIが使えるようにする。
IncludesNoExecをIncludesに変更してexecコマンドのも使えるようにする。
Indexesはファイル名を指定せずに、ディレクトリ名のみでアクセスがあった場合、そのディレクトリ内にindex.htmlのような優先表示ファイ
ルが無い場合そのディレクトリ内すべてのファイル名が表示され、外部に公開する場合はセキュリティ上問題があるので、”-“をつけて表示しないようにす
る。
しかし、あくまでもローカルサーバーとしてのみ使用する場合はそのままにし、表示する方が便利である。

これで、ホームディレクトリ以下をC:\home\kumao\public_html\としたとき、http://127.0.0.1/~kumao/でアクセス可能になる。
kumaoの部分はhana,taro,jiroなどいくつでも作れる。

このほかにもAlias命令を使って次のようにする方法もある。
Alias /~kumao “C:/kumao/public_html/”
これで、http://127.0.0.1/~kumao/のURLでC:\kumao\public_html\の内容を表示できます。
べつに~は無くてもAlias /kumao “C:/kumao/public_html/”とするとhttp://127.0.0.1/kumao/でアクセスできる。

321行目
DirectoryIndex index.html index.html.var
追加↓
DirectoryIndex index.html index.html.var
DirectoryIndex index.htm index.htm.var

ブラウザでディレクトリが呼び出されたときに、表示されるファイル名の指定。

601行
ReadmeName README.html
HeaderName HEADER.html
変更↓
#ReadmeName README.html
#HeaderName HEADER.html

ディレクトリの直下に
README.html(readme.html)やHEADER.html(header.html)が存在した場合、index.html同様にブラ
ウザでディレクトリのURLにアクセスすると、そのファイルの内容が表示される。しかし、このままだと、Web上で公開するCGIファイルの使い方を説明
したreadme.html等をディレクトリに入れておくと表示されてしまう。
これは困るので、万が一のために無効にしておく。

もし有効にした場合、ファイルの内容が表示されると同時に、他のファイルリストも表示されてしまう。
ちなみに、README.html(readme.html)はリストの後に、HEADER.html(header.html)はリストの前に表示される。

608行目
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
変更↓
#IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

ディレクトリ直下にHEADER(header)やREADME(readme)で始まるファイルがあるなどIndexIgnore以下に記されたファイルがあれば、ブラウザからディレクトリ名のURLでアクセスしたときに表示リストから除外され、表示されない。
有るはずのファイルが表にされないのは不便なので無効にしておく。

682行目
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
変更↓
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

言語の優先順位で、英語(en)が最優先になっており、日本語(ja)の順位が低いために紛らわしい場合、英語と認識されて文字化けの原因ととなるので、日本語を最優先に変更する。

698行目
AddCharset ISO-8859-1 .iso8859-1 .latin1
変更↓
#AddCharset ISO-8859-1 .iso8859-1 .latin1

デフォルトの文字セットを欧米諸国の文字ISO-8859-1
Latin1という設定にしようとしているが、このままでは、日本語ページのほとんどが文字化けし、ブラウザによってはその設定を変更しても文字化けが解
消しない場合があるので、コメントアウト(#)しておく。

765行目
#AddHandler cgi-script .cgi
変更↓
AddHandler cgi-script .cgi

コメントアウトを削除し、拡張し.cgiがついたファイルをCGIスクリプトとして実行できるようにする。

770行目
#AddHandler send-as-is asis
変更↓
AddHandler send-as-is asis

コメントアウトを削除し、CGIスクリプトなどからHTTPヘッダを送れるようにする。

775行目
#AddHandler imap-file map
変更↓
AddHandler imap-file map

コメントアウトを削除し、イメージマップが使えるようにする。

790〜791行目
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
変更、追加↓
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddType text/html .html
AddOutputFilter INCLUDES .html

既存の2行はコメントアウトを削除し有効にする。
その下に2行追加して拡張子が.shtmlでなく.htmlでもSSlがきのうするようにする。

以上変更後はhttpd.confを上書きし、再起動して有効にする。
———————————————————-

これで、Apacheで通常使う範囲の設定はできたと思う。
しかも、くまおはこれ以上の事はわからない。


windowsに標準で装備されている電卓はけっこう便利である。
しかし、使うためには、[スタート]→[すべてのプログラム]→
[アクセサリ]→[電卓]と手間がかかるし、ディスクトップにショートカッタを作っておいても多くのウインドウを開いていると、それらを最小化しなければ使えない。
そこで、今回はスタートボタンの右クリックメニューに電卓を追加した。

手順
?[スタート]-[ファイル名を指定して実行] から 「regedit」と入力し、レジストリエディタを起動する。

?HKEY_CLASSES_ROOT→Directory→shell に移動する。

?「shell」アイコン上で右クリックし、メニューから「新規作成」→「キー」を選択し、新しいキーを作成する。

?「新しいキー #1」というキーができるので、これに適当な名前を付る。
  例:「Calc」

?「Calc」へ移動し、右領域に表示された「(既定)」アイコンをダブルクリックする。

?表示されたダイアログの「値のデータ」に、メニュー項目名に適当な名前を入力して、「OK」をクリックする。
例:「電卓」

?Calcキーの右領域の空白部分で右クリックし、「新規作成」→「キー」を選択し、作成されたキーに 「command」という名前を付ける。
これで、「shell\Calc\command」という階層構造ができたはず。

?「command」へ移動し、右領域に表示された「(標準)」アイコンをダブルクリックする。

?「値のデータ」欄に、「電卓」のプログラムをフルパスで「C:\windows\system32\Calc.exe」と入力する。

?レジストリエディタを終了する。

これで、スタートボタンを右クリックすると、「電卓」という項目が追加されているはず。

また、この方法で、電卓以外の物も追加出来る。


KUMAOの押入TOP

  • 累積 704870
  • 本日 26
  • 昨日 53
  • 累積PV 2185736
  • 本日のPV 26
  • 昨日のPV 54
  • 現在の閲覧 0

カレンダー

2021年12月
« 8月    
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

最近のコメント

アーカイブ

年間アーカイブ

Twitter