狠狠撸
Submit Search
PHP With Windows binary
?
0 likes
?
682 views
Masahiko Sakamoto
1 of 75
Download now
Download to read offline
More Related Content
PHP With Windows binary
1.
PHP勉強会SIDE-B (第1回) WindowsでのPHPとのつきあい方 (前編) id:msakamoto-sf 坂本 昌彦
2.
アジェンダ ● 1.インストーラを用いずにzipファイルからインストー ルする方法 ● 2.Windows用PHPバイナリの構成 ● 3.CUIで動かす時の最小構成
3.
1.インストーラを用いずにzipファイルか らインストールする方法 Windowsでの PHPのインストール
4.
ところで Windowsって使ってますよ ね?
5.
MacOSXとか*nix使いは 寝ちゃうかも???(;^^)ヘ..
6.
インストール どうやってインストールして いるか?
7.
インストール方法 XAMP?
8.
インストール方法 インストーラパッケージ?
9.
インストール方法 本で/WEBで見たとおり?
10.
インストールして??? インストールした後
11.
なんとなく 放置してませんか?
12.
なんとなく 放置すると???
13.
半年おきとか。 いつのまにやらバージョンが 上がってたり。
14.
泣く泣く 入れ直し。 (つд?)???
15.
厭な所 ?XAMP ?インストーラ ↓ レジストリとか弄られるのが 厭。
16.
プロっぽく zipパッケージで全てのファ イル?ディレクトリ構成を掌 握し、管理する。
17.
こだわり。 レジストリを弄る必要も 無い!! (???)
18.
PHP本体の バージョンアップも、ファイル の入れ替えだけでほぼOK
19.
工夫すれば??? PHP4とPHP5の共存も!
20.
試したことは無いけど??? (多分マイナーバージョン 間の共存もOK)
21.
前提 WinXP SP2 Apache 2.0.5x系列 PHP
5.2.6
22.
主要な二种类のダウンロード
23.
今回は上を使います。
24.
ダウンロードしたら 解凍して、好きな場所にう つします。
25.
例 (in_vitroというのは気にしなくてOK) ~
26.
php.iniは php.ini-recommended を php.ini にコピーします。
27.
Apache httpd.confの編集
28.
以下を追記。(パターン) LoadModule php5_module "C:/in_vitro/apps/php5/php5apache2.dll" # ↑は実際は一行で。 #
(Load Module php5_module "C:/.../php5apache2.dll") PHPIniDir "C:/in_vitro/apps/php5" AddType application/x-httpd-php .php .html AddType application/x-httpd-php-source .phps
29.
"PHPIniDir" PHPIniDir: php.iniのある フォルダを指定。
30.
PHP4と違って C:WINDOWS とかに php.iniを置かなくても 平気!
31.
Apacheを再起動???の前に。 Apache.exe -t で確認。
32.
(何かオプションがアレですが気にしない で!) ↑OK。 Apache起動できる。 > cd "C:Program
FilesApache GroupApache2bin" > apache -t -f confhttpd_php5.conf Syntax OK
33.
ディレクトリ指定とかが間違ってた時 ???何か出ます。 > cd "C:Program
FilesApache GroupApache2bin" > apache -t -f confhttpd_php5.conf Syntax error on line 15 of C:/Program Files/Apache Group/Apache2/conf/httpd_php5.conf: Cannot load C:/in_vitro/apps/php5/php5apache2.dll into server: x8ewx92xe8x82xb3x82xeax82xbdx83x82x83Wx83x85x 81[x83x8bx82x aax8cxa9x82xc2x82xa9x82xe8x82xdcx82xb9x82xf1x 81B
34.
Apacheを起動したら 適当な公開ディレクトリで "<?php phpinfo(); ?>" を叩いて動けばOK.
35.
php.iniの設定内容は 大垣先生のWikiを見るとよい。 http://wiki.ohgaki.net/ 「PHP/tips/推奨php.ini設定」 など。
36.
PHPのバージョンが変わった時は??? 1.PHPをDLする。 2.httpd.confの書き換え 3.php.iniの移行 (4.extensionのコピー)
37.
Apacheを入れ直した時は??? 1.httpd.confの追記
38.
2.Windows用PHPバイナリの構成 (直下のファイル群) ● php5ts.dll - PHP言語の実行コアライブラリ ● php.ini-{dist|recommended}
- php.iniの雛形 ● php({-cgi|-win}).exe - CLIやCGIでのPHP実行 ファイル ● php5apache*.dll, php5{is|ns}api.dll - 各種 Webサーバー用モジュール ● go-pear.bat - PEARライブラリインストールバッチ ● 他のDLL - MySQLやSSLなどのネイティブライブラリ
39.
ディレクトリなど ● dev/ - 静的ライブラリ(php5ts.lib)置き場 ● ext/
- PECLモジュール(dll)置き場 ● extras/ - MIB, SSL, PDF関係のファイル置き場 ● PEAR/ - PEARインストールパッケージ(*.phar) ●
40.
PHPの動作とファイルの関係 (1)Apacheモジュールの場合 Apache.exe ↓ php5apache*.dll ↓ php5ts.dll
41.
PHPの動作とファイルの関係 (2)CGIの場合 Apache.exe/IIS ↓ php-cgi.exe ↓ php5ts.dll
42.
PHPの動作とファイルの関係 (3)CLIからの場合 (コマンドプロンプト) ↓ php.exe ↓ php5ts.dll
43.
php-win.exeが謎だけど??? 結局 php5ts.dll に行き着きます。
44.
php.ini 重要
45.
デフォルトでは何処にphp.iniがあると (php5ts.dllは)思っているか。 (PHPIniDirをコメントアウ トしてApacheを起動)
46.
php.iniの場所の教え方 (1)Apacheモジュール PHPIniDir ディレクティブ
47.
PHPIniDir ディレクティブの効果 PHPIniDir "C:/in_vitro/ apps/php5"
48.
php.iniの場所の教え方 (2)exe系から叩く時 "-c "オプション php(-cgi).exe -c
...php.ini
49.
php.iniは重要 ???ですが、セキュリティ関係の 設定は大垣先生の資料を参 考にするとして。
50.
プログラミングする上で 普通に重要な設定が二つありま す。
51.
二つ。 "include_path" と "extension_dir"
52.
"include_path" {require|include}(_once)す る時に指定されたファイルを探 すディレクトリの一覧。
53.
"include_path"の設定を ミスると??? PEARのライブラリファイルが見つ からなくなったりします。 アプリのrequire/includeで失敗 したりします。
54.
"extension_dir" "extension"で読み込むDLLの 入っているディレクトリ。 MySQL接続とか、mbstringと か???。
55.
"extension_dir"の設定を ミスると??? DBに接続できなくなったり、いろ いろと出来なくなります。
56.
これほど重要な設定なのに??? php.ini-recommendedの デフォルト設定は役立たず。 (??ω?`)
57.
"include_path"のデフォルト ;include_path = ".;c:phpincludes" コメントアウトされてるし。
58.
"extension_dir"のデフォルト extension_dir = "./" イヤ、それ、違うし。
59.
なので この二項目はすぐに正しいディレ クトリに書き換えて下さい。 include_pathについてはPEAR を入れてから調整しても良いで すが???
60.
extension_dirについては直ぐに。 でないと、php_zipやmbstring などが読み込めない = PEARのインストールを始めとして 色々支障が出ます。
61.
3.CUIで動かす時の最小構成 突然ですが、 Windows用のPHPって "可愛い"と思うのです。
62.
理由 ?好きな場所における。 ?ファイルの組み合わせが 楽。 ?*nixと違ってディレクトリ 構成の制約が少ない。
63.
極端な話 php5ts.dll php.exe php.ini だけでCLIで実験できる!
64.
CLIの構成例 ● php5ts.dll ● php.ini ● php(-win).exe : php-winとの使い分けは後述。 ● ext/php_***.dll
: お好みのDLL ● boot.bat : プログラム実行用BATファイル ● ● 他、PHPスクリプトファイル。
65.
秘密1 %~dp0
66.
%~dp0とは? %0がバッチファイル名。 (boot.bat) ~dでドライブ名展開。 ~pでファイル名を除くパス 名に展開。
67.
秘密2 php(-win).exeの"-d"オプ ション。
68.
"-d"オプション php.iniの設定項目を上 書き。
69.
秘密3 php-win.exe + "start"コマンド in boot.php
70.
php-win.exe コマンドプロンプトウインドウ を表示せずにPHPスクリプ トを実行可能。
71.
"start"コマンド kickしたプロセスの終了を 待たずに、処理続行 = boot.bat自体は終了。
72.
組み合わせれば??? タスクスケジューラからkick される定時実行バッチも PHPスクリプトで書ける!
73.
配布ファイルも柔軟に構成可能だから PHP実行環境と一緒に配 布することも可能。 (=配布先でわざわざPHP を"インストール"する必要 無し。)
74.
まとめ ● インストーラやXAMPを使わず、zipから展開すれば、 レジストリも弄らないし、PHP本体のバージョンアップ に対する追従も楽。 ● php5ts.dll, php.ini重要。 ● php.iniではextension_dirとinclude_pathに注 意。 ● "%~dp0", php-win.exe,
"start"コマンドでPHPス クリプトを柔軟に配布?実行可能。
75.
Windows用のPHP5バイナリって 実は結構使い勝手が良 い言語環境だと思う。
Download