Anúncio

PHP With Windows binary

Software Programmer em home
7 de Jul de 2008
Anúncio

Mais conteúdo relacionado

Apresentações para você(20)

Similar a PHP With Windows binary(20)

Anúncio

Último(20)

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バイナリって 実は結構使い勝手が良 い言語環境だと思う。
Anúncio