Modified: phpdoc/ja/trunk/faq/using.xml =================================================================== --- phpdoc/ja/trunk/faq/using.xml 2009-10-10 03:09:09 UTC (rev 289487) +++ phpdoc/ja/trunk/faq/using.xml 2009-10-10 05:13:43 UTC (rev 289488) @@ -1,6 +1,6 @@ - + PHP の使いかた @@ -12,6 +12,28 @@ + + + + + PHP の関数のパラメータの順番を覚えられません。だって関数によってばらばらなんだもん。 + + + + + PHP は、さまざまな外部ライブラリの間を取り持つ糊のような存在です。 + そのため、時にはちょっとごちゃごちゃすることもあります。 + しかし、経験上、以下のような規則があるようです。 + + + 配列関数 のパラメータは + "needle, haystack" の順だけれども、 + 文字列関数 はその逆で + "haystack, needle" の順となります。 + + + + @@ -71,10 +93,13 @@ - addslashesがこれを行ってくれます。 - mysql_escape_stringも見てください。 - stripslashesによって - バックスラッシュを除去することもできます。 + もしデータベースに格納するためにそんなことをしようとしているのなら、 + データベース自身が持つエスケープの仕組みを使うようにしましょう。 + MySQL なら mysql_real_escape_string、 + PostgreSQL なら pg_escape_string などです。 + 汎用的な関数 addslashes や + stripslashes もありますが、 + これはさらに古い時代の PHP コードで使われていたものです。 ¬e.magicquotes.gpc; @@ -92,11 +117,12 @@ - stripslashes関数によってstringから - バックスラッシュを取り除くことができます。 - このような奇妙なバックスラッシュは、ほとんどの場合、PHPの + なぜかバックスラッシュがついてしまう、という現象の原因のほとんどは、PHP の magic_quotes_gpc - ディレクティブがオンになっていることによって付加されています。 + ディレクティブが On になっていることです。これは古い時代の PHP + の機能であり、現在は無効にしておくべきものです。この仕組みに頼ってはいけません。 + 文字列からバックスラッシュを取り除くために、PHP の + stripslashes を使うことができます。 ¬e.magicquotes.gpc; @@ -320,36 +346,6 @@ - - - - 私が書いたPHPスクリプトはIEとLynxでは動作するのですが、Netscapeを - 使うと出力の一部が失われてしまいます。"ソースの表示"をするとIEには - あるがNetscapeにはない内容があります。 - - - - - NetscapeはHTMLタグの扱いがIEに比べて厳密になっています(テーブル等)。 - スクリプトが出力したHTMLを - validator.w3.orgなどのHTMLバリデータに掛けてみると良いでしょう。 - 例えば</table>が無いとこのような現象が発生します。 - - - また、IEとLynxは共にHTMLストリーム中のNULL文字(\0)を - 無視しますがNetscapeは無視しません。この問題をチェックする一番の方法 - はコマンドライン版の - PHP(つまりCGIバージョン)をコンパイルして、コマンドラインからその - スクリプトを実行することです。*nix上では、その出力を od - -c にパイプして\0があるかどうかを - チェックしてください。もしWindowsを使っている場合は、バイナリファ - イルを扱えるエディタかそれに類するソフトウェアが必要です。IEや - Lynxと異なりNetscapeはNULL文字を見つけるとその行の文字を一切出力 - しません。 - - - - @@ -361,7 +357,7 @@ <?xml を直接PHPコードに埋め込むには、 PHPディレクティブのshort_tags - を0に設定しなければなりません。 + を 0 に設定しなければなりません。 このディレクティブはini_setでセットすることは できません。short_open_tags のオン/オフに関わらず、次のようにもできます: @@ -371,25 +367,6 @@ - - - - FrontPageやその他のHTMLエディタを使うと、書いたPHPのコードが勝手 - にあちこちに移動されてしまいます。どうしたらいいですか? - - - - - 最も簡単なのはASPタグを使う方法です。こうすればASPの様に<%と - %>をコード区切りとして使用することが出来ます。有名なHTMLエディ - タは(今のところ)ASPタグを賢く扱ってくれます。ASPスタイルのタグを - 有効にするにはphp.iniファイルでasp_tagsを設定するか、適切なApacheディレ - クティブを使用します。 - - - - Modified: phpdoc/ja/trunk/install/macos/server.xml =================================================================== --- phpdoc/ja/trunk/install/macos/server.xml 2009-10-10 03:09:09 UTC (rev 289487) +++ phpdoc/ja/trunk/install/macos/server.xml 2009-10-10 05:13:43 UTC (rev 289488) @@ -1,6 +1,6 @@ - + Mac OS X サーバ用にコンパイルする @@ -99,12 +99,12 @@ - php.ini-dist ファイルを PHP4 ソースディレクトリから + php.ini-development ファイルを PHP4 ソースディレクトリから bin ディレクトリにコピーし、 リネームします。 - cp php.ini-dist /usr/local/bin/php.ini 、 + cp php.ini-development /usr/local/bin/php.ini 、 または (local ディレクトリが無い場合) - cp php.ini-dist /usr/bin/php.ini 。 + cp php.ini-development /usr/bin/php.ini 。 Modified: phpdoc/ja/trunk/install/unix/apache1.xml =================================================================== --- phpdoc/ja/trunk/install/unix/apache1.xml 2009-10-10 03:09:09 UTC (rev 289487) +++ phpdoc/ja/trunk/install/unix/apache1.xml 2009-10-10 05:13:43 UTC (rev 289488) @@ -1,6 +1,6 @@ - + Apache 1.3.x (Unix システム用) @@ -56,13 +56,13 @@ 13. php.ini ファイルをセットアップ - cp php.ini-dist /usr/local/lib/php.ini + cp php.ini-development /usr/local/lib/php.ini PHP の実行時設定を変更するには、.ini ファイルを編集します。 このファイルを他の場所に置きたい場合は、手順 10 で、 オプション --with-config-file-path=/path を使用します。 - php.ini-dist ではなく、php.ini-recommended を使用する場合は、PHP の + php.ini-development ではなく、php.ini-production を使用する場合は、PHP の 動作が変化しますので、ファイル中に記載されている変更点の一覧を確認する ようにしてください。 @@ -144,7 +144,7 @@ できます。最初のインストールの場合は、この後 "make install" を行います。) 13. cd ../php-5.x.y -14. cp php.ini-dist /usr/local/lib/php.ini +14. cp php.ini-development /usr/local/lib/php.ini 15. /usr/local/lib/php.ini を編集すると、PHP の実行時設定を変更できます。 httpd.conf もしくは srm.conf ファイルを編集し、以下を追記します。 Modified: phpdoc/ja/trunk/install/unix/apache2.xml =================================================================== --- phpdoc/ja/trunk/install/unix/apache2.xml 2009-10-10 03:09:09 UTC (rev 289487) +++ phpdoc/ja/trunk/install/unix/apache2.xml 2009-10-10 05:13:43 UTC (rev 289488) @@ -1,11 +1,11 @@ - + - Apache 2.0 (Unixシステム用) + Apache 2.x (Unixシステム用) - このセクションでは、PHPを Unix システム上の Apache 2.0 にインストールする際の + このセクションでは、PHPを Unix システム上の Apache 2.x にインストールする際の 手引きと注意事項について説明します。 @@ -13,38 +13,46 @@ Apache ドキュメンテーション - を参照し、Apache 2.0.x の基本的な事項について理解しておくことを - 強く推奨します。 + を参照し、Apache 2.x の基本的な事項について理解しておくことを強く推奨します。 + Apache のインストールオプションについてのより詳しい情報が得られます。 &install.snippet.apache2.compat; - 最新バージョンの Apache 2.0 を - ダウンロードし、上述のいずれかのバージョンの PHP を用意してください。 - この手引きでは Apache 2.0 で PHP を動作させるための + 最新バージョンの Apache HTTP Server を + Apache ダウンロードサイト + からダウンロードし、上述のいずれかのバージョンの PHP を用意してください。 + この手引きでは Apache 2.x で PHP を動作させるための 基本的な部分しかカバーしていません。さらに詳しい情報については、Apache ドキュメンテーション を参照してください。 情報が古く不正確になってしまうため、以下では詳細なバージョン番号は 記述されていません。'NN' という文字列をご使用のバージョンに適宜置き換えて ください。 + + 現在、Apache 2.x には 2.0 と 2.2 の二種類があります。 + どちらを選ぶにしてもそれなりの理由があるでしょうが、 + 2.2 が現在の最新版です。もし選択の余地があるのなら + 2.2 を使うことを推奨します。しかし、この例では 2.0 と 2.2 + のどちらでも使えるようにしています。 + インストール手順 (Apache 2 共有モジュール版) - 拡張子 .phps のファイルを PHP ソースファイルとして扱うには、これを追加します。 + 拡張子 .phps のファイルを php ソースフィルタに処理させて + 構文ハイライトつきのソースコードとして表示させるには、このようにします。 SetHandler application/x-httpd-php-source + mod_rewrite を使うと、.phps ファイルに名前を変えたりコピーしたりしなくても + 任意の .php ファイルを構文ハイライトつきのソースコードとして表示させることができます。 + + RewriteEngine On + RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source] + + php ソースフィルタは、実運用環境では無効にしておかなければなりません。 + 有効にしてしまうと、ソースコードに埋め込まれた機密情報や重要情報が漏れてしまう危険があります。 + 16. Apache サーバを、通常の手順通り、起動させます。 /usr/local/apache2/bin/apachectl start @@ -140,34 +152,39 @@ SAPI モジュールとして PHP を動作させることができます。もちろん、Apacheと PHP の双方とも、もっと多くの configure オプションを指定することが出来ます。 詳しい情報を得るには、ソースツリーディレクトリで ./configure - --help を実行してください。また、マルチスレッド版の Apache2 - をビルドする場合は、デフォルトの MPM である prefork を - worker もしくは perchild で - 上書きする必要があります。このためには、上記の手順 6 で もしくは を指定します。マルチスレッド版 - については、その動作に関して十分注意してください。 - 詳細については Apacheドキュメントの - マルチプロセッシングモジュール (MPM) - を参照してください。 + --help を実行してください。 - - - コンテントネゴシエーションを使用する場合には、 - - Apache の MultiViews オプションに関するFAQ を参照してください。 - - - - - マルチスレッド版の Apache をビルドする場合は、システムがスレッドを - サポートしている必要があります。また、PHP は - 実験的なステータスにある Zend Thread Safety (ZTS) でビルドされます。 - そのため、使用できない拡張モジュールがあります。デフォルトの - prefork MPM でのビルドが推奨されます。 - - - + + マルチスレッド版の Apache をビルドするには、Apache のビルド時に標準の + prefork MPM ではなく worker MPM を選択します。 + そのためには、先ほどの手順 6 のところで ./configure の引数に次のオプションを追加します。 + + + + --with-mpm=worker + + + + そうすることで何がどのようになるのかをきちんと認識したうえで、これを行わなければなりません。 + 詳細については Apacheドキュメントの + マルチプロセッシングモジュール (MPM) + を参照してください。 + + + + Apache MultiViews + FAQ では、PHP でマルチビューを使う方法について解説しています。 + + + + + マルチスレッド版の Apache をビルドするには、ターゲットシステムがスレッドに対応していなければなりません。 + その場合は、PHP についても実験的な Zend Thread Safety (ZTS) でビルドしなければなりません。 + この構成では使用できない拡張モジュールもあります。推奨される方法は、Apache をデフォルトの + prefork MPM モジュールでビルドすることです。 + + +