hirokawa Sat Nov 3 22:50:21 2001 EDT Modified files: /phpdoc/ja/appendices migration4.xml /phpdoc/ja/chapters config.xml /phpdoc/ja/functions mail.xml Log: updated translation.
Index: phpdoc/ja/appendices/migration4.xml diff -u phpdoc/ja/appendices/migration4.xml:1.4 phpdoc/ja/appendices/migration4.xml:1.5 --- phpdoc/ja/appendices/migration4.xml:1.4 Sat Jul 7 18:25:10 2001 +++ phpdoc/ja/appendices/migration4.xml Sat Nov 3 22:50:20 2001 @@ -1,7 +1,7 @@ <appendix id="migration4"> <title>PHP 3.0からPHP 4.0への移行</title> - <section> + <section id='migration4.changes'> <title>PHP 4.0での変更点</title> <para> PHP 4.0 とこれに組み込まれた Zend エンジンは、PHPの性能と機能を大 @@ -15,7 +15,150 @@ </para> </section> - <section> + <section id="migration4.php4.with.php3"> + <title>PHP 3とPHP 4を同時に実行する</title> + <simpara> + +最近のオペレーティングシステムでは、バージョン管理及びスコープ監理 + +を行う機能が提供されています。この機能により、1つのApacheサーバ上 + のモジュールとしてPHP 3とPHP +4を同時に実行することが可能です。 + </simpara> + <simpara> + +この機能は、以下のプラットフォーム上での動作が確認されています。 + </simpara> + <itemizedlist> + <listitem> + <simpara> + 最近のbinutils (binutils 2.9.1.0.25 でテスト済み) を備えたLinux + </simpara> + </listitem> + <listitem> + <simpara> + Solaris 2.5以降 + </simpara> + </listitem> + <listitem> + <simpara> + FreeBSD (3.2, 4.0 でテスト済み) + </simpara> + </listitem> + </itemizedlist> + <para> + この機能を使用するには、PHP3 および PHP4 +でAPXS(--with-apxs)および + +必要なリンク拡張(--enable-versioning)を指定します。それ以外の場合、 + 通常の命令が使用されます。例えば、 + <informalexample> + <programlisting> +$ ./configure \ + --with-apxs=/apache/bin/apxs \ + --enable-versioning \ + --with-mysql \ + --enable-track-vars + </programlisting> + </informalexample> + </para> + </section> + + <section id="migration4.configuration"> + <title>設定ファイルの移行</title> + <para> + グローバル設定ファイル<filename>php3.ini</filename>は、名前が + <filename>php.ini</filename>に変更となりました。 + </para> + <para> + +Apache設定ファイルの場合、変更点はやや多くなっています。PHPモジュー + ルにより認識されるMIME型が変更となりました。 + <informalexample> + <programlisting> +application/x-httpd-php3 --> application/x-httpd-php +application/x-httpd-php3-source --> application/x-httpd-php-source + </programlisting> + </informalexample> + </para> + <para> + +以下の構文を使用することにより、(サーバに組み込まれているバージョ + +ンに基づき)両方のバージョンで動作する設定ファイルを作成することが + 可能です。 + <informalexample> + <programlisting> +AddType application/x-httpd-php3 .php3 +AddType application/x-httpd-php3-source .php3s + +AddType application/x-httpd-php .php +AddType application/x-httpd-php-source .phps + </programlisting> + </informalexample> + </para> + <simpara> + 加えて、Apache用のPHPディレクティブが変更となっています。 + </simpara> + <para> + PHP +4.0以降、PHPに関連するApacheディレクティブは以下の4種類のみと + なっています。 + <informalexample> + <programlisting> +php_value [PHPディレクティブ名] [値] +php_flag [PHPディレクティブ名] [On|Off] +php_admin_value [PHPディレクティブ名] [値] +php_admin_flag [PHPディレクティブ名] [On|Off] + </programlisting> + </informalexample> + </para> + <simpara> + Adminの値とそれ以外の値には次の2つの違いがあります。 + </simpara> + <itemizedlist> + <listitem> + <simpara> + Admin +の値(またはフラグ)は、サーバ全体のApache設定ファイル(すな + わちhttpd.conf)でのみ設定可能です。 + </simpara> + </listitem> + <listitem> + <simpara> + +通常の値(またはフラグ)はセーフモードのようなある種のPHPディレク + +ティブを制御できません(セーフモードの設定を.htaccessで上書きで + +きるとしたら、セーフモードの目的は達成されなくなります)。逆に + Admin値では全てのPHPディレクティブの値を修整可能です。 + </simpara> + </listitem> + </itemizedlist> + <simpara> + 移行の過程をより容易にするために、PHP 4.0 +にはApache設定命令と. + htaccessファイルをPHP 3.0とPHP +4.0の両方で動作するように変換するス + +クリプトがバンドルされています。これらのスクリプトは、MIME型の行を + 変換しません。これらは自分で変更を行う必要があります。 + </simpara> + <para> + +Apache設定ファイルを変換するために、(scripts/apache/ディレクトリに + ある)apconf-conv.sh スクリプトを実行して下さい。 例えば、 + <informalexample> + <programlisting> +~/php4/scripts/apache:# ./apconf-conv.sh /usr/local/apache/conf/httpd.conf + </programlisting> + </informalexample> + </para> + <simpara> + 元の設定ファイルは、httpd.conf.origに保存されます。 + </simpara> + <para> + .htaccess +ファイルを変換するには、(同じくscripts/apache/ディレクト + リにある)aphtaccess-conv.sh スクリプトを実行して下さい。 + <informalexample> + <programlisting> +~/php4/scripts/apache:# find / -name .htaccess -exec ./aphtaccess-conv.sh {} \; + </programlisting> + </informalexample> + </para> + <simpara> + +同様に古い.htaccessファイルには.origが付加されて保存されます。 + </simpara> + <simpara> + +この変換スクリプトは、awkがインストールされていることを必要としま + す。 + </simpara> + </section> + + <section id='migration4.parser'> <title>パーサの動作</title> <para> パーサと実行は、二つの完全に分割されたステップになりました。ファイ @@ -51,10 +194,10 @@ </para> </section> - <section> + <section id='migration4.error-reporting'> <title>エラー出力</title> - <section> + <section id='migration4.error-reporting.config'> <title>設定変更</title> <para> PHP 3.0 では、エラー出力レベルは異なったエラーレベルを意味する数 @@ -104,7 +247,7 @@ </warning> </section> - <section> + <section id='migration4.error-reporting.additions'> <title>追加された警告メッセージ</title> <para> 既存のPHP 3.0コードの多くは、このコードのように非常に悪いスタイル @@ -139,7 +282,7 @@ </section> - <section> + <section id='migration4.initializers'> <title>イニシャライザ</title> <para> 静的変数とクラスメンバのイニシャライザは、PHP 3.0では有効な式なら @@ -154,7 +297,7 @@ </para> </section> - <section> + <section id='migration4.empty'> <title><literal>empty("0")</literal></title> <para> 恐らく最も動作上の問題のある変更は、<function>empty</function>の動 @@ -170,7 +313,7 @@ </para> </section> - <section> + <section id='migration4.missing'> <title>廃止された関数</title> <para> PHP 4.0 は多くの新しい機能と拡張を導入していますが、同時にいくつか @@ -183,7 +326,7 @@ 止されています。 </para> - <section> + <section id='migration4.missing.concept'> <title>コンセプトの変更により廃止された関数</title> <para> PHP 4.0 ではパースと実行が分割されており、実行時に(現在、Zendエン @@ -201,7 +344,7 @@ </para> </section> - <section> + <section id='migration4.deprecate'> <title>推奨されない関数と拡張</title> <para> Adabas および Solid データベース拡張は、もはや推奨されません。 @@ -209,7 +352,7 @@ </para> </section> - <section> + <section id='migration4.unset'> <title><function>unset</function>のステータスの変更</title> <para> <function>unset</function>はまだ使用可能ですが、PHP 4.0ではリテラ @@ -232,7 +375,7 @@ </section> </section> - <section> + <section id='migration4.extensions'> <title>PHP 3.0 拡張機能</title> <para> PHP 3.0 用に描かれた拡張は、PHP 4.0 ではバイナリレベルでもソースレ @@ -242,7 +385,7 @@ </para> </section> - <section> + <section id='migration4.strings'> <title>文字列中の変数置換</title> <para> PHP 4.0 では文字列中の新しい変数置換の機構が追加されています。文字 @@ -269,7 +412,7 @@ </para> </section> - <section> + <section id='migration4.cookies'> <title>クッキー</title> <para> PHP 3.0 は、コード中の<function>setcookie</function>のコールとは逆 Index: phpdoc/ja/chapters/config.xml diff -u phpdoc/ja/chapters/config.xml:1.15 phpdoc/ja/chapters/config.xml:1.16 --- phpdoc/ja/chapters/config.xml:1.15 Wed Jul 18 08:38:00 2001 +++ phpdoc/ja/chapters/config.xml Sat Nov 3 22:50:20 2001 @@ -653,64 +653,6 @@ </para> </sect2> - <sect2 id="ini.sect.mail"> - <title>メール設定用命令</title> - <variablelist> - - <varlistentry id="ini.smtp"> - <term> - <parameter>SMTP</parameter> - <type>文字列</type> - </term> - <listitem> - <para> - Windows 版の PHP が <function>mail</function> 関数によるメール - の送信に使用する SMTP サーバーの DNS 名または IP アドレス。 - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sendmail-from"> - <term> - <parameter>sendmail_from</parameter> - <type>文字列</type> - </term> - <listitem> - <para> - Windows 版の PHP から送信するメールにおいて - "From:" に使用するメールアドレス。 - </para> - </listitem> - </varlistentry> - - <varlistentry id="ini.sendmail-path"> - <term> - <parameter>sendmail_path</parameter> - <type>文字列</type> - </term> - <listitem> - <para> - <command>sendmail</command> プログラムがある場所。 - 通常は、 - <filename>/usr/sbin/sendmail</filename> または、 - <filename>/usr/lib/sendmail</filename> です。 - <command>configure</command> が sendmail の場所を探してくれま - すが、失敗する場合は、ここでそのパスをセットことが可能です。 - </para> - <para> - sendmail を使用していないシステムは、替わりに動作させるマシン - のメールシステムが提供する sendmail のラッパーまたは代替品をこ - の命令に指定する必要があります。例えば、 - <ulink url="&url.qmail;">Qmail</ulink> ユーザーは、通常、この命令に - <filename>/var/qmail/bin/sendmail</filename> - をセットすることができます。 - </para> - </listitem> - </varlistentry> - - </variablelist> - </sect2> - <sect2 id="ini.sect.safe-mode"> <title>セーフモード設定用命令</title> <variablelist> Index: phpdoc/ja/functions/mail.xml diff -u phpdoc/ja/functions/mail.xml:1.13 phpdoc/ja/functions/mail.xml:1.14 --- phpdoc/ja/functions/mail.xml:1.13 Sun Aug 12 20:33:48 2001 +++ phpdoc/ja/functions/mail.xml Sat Nov 3 22:50:21 2001 @@ -5,6 +5,61 @@ <simpara> <function>mail</function>関数によりメールを送ることができます。 </simpara> + + <variablelist> + <title>Mail設定ディレクティブ</title> + + <varlistentry id="ini.smtp"> + <term> + <parameter>SMTP</parameter> + <type>string</type> + </term> + <listitem> + <para> + +SMTPサーバのDNS名またはIPアドレス。Windows環境で動作するPHPは、 + +<function>mail</function>巻数で送信するメールに関してこの設定値 + を使用します。 + </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.sendmail-from"> + <term> + <parameter>sendmail_from</parameter> + <type>string</type> + </term> + <listitem> + <para> + Windows環境でPHPから送信されるメールにおいて "From:" +に使用する + メールアドレスを指定します。 + </para> + </listitem> + </varlistentry> + + <varlistentry id="ini.sendmail-path"> + <term> + <parameter>sendmail_path</parameter> + <type>string</type> + </term> + <listitem> + <para> + <command>sendmail</command> プログラムを探すパスを指定します。 + 通常、<filename>/usr/sbin/sendmail</filename> または + <filename>/usr/lib/sendmail</filename>です。 + <command>configure</command> +は、このパスを探し、デフォルト値と + +して設定しますが、これで上手くいかない場合にはこのオプションで + 設定する必要があります。 + </para> + <para> + +sendmailを使用していないシステムは、必要に応じてこのディレクティ + +ブに使用するメールシステムが提供するsendmailのラッパー/代替品を + 設定する必要があります。例えば、<ulink + url="&url.qmail;">Qmail</ulink>ユーザは、通常、 + <filename>/var/qmail/bin/sendmail</filename>に設定します。 + </para> + </listitem> + </varlistentry> + </variablelist> </partintro> <refentry id="function.mail"> @@ -42,8 +97,7 @@ 情報については、 <ulink url="http://www.zend.com/zend/spotlight/sendmimeemailpart1.php" >http://www.zend.com/zend/spotlight/sendmimeemailpart1.php</ulink> - または RFC 1896 (<ulink url="http://www.rfc-editor.org/"> - http://www.rfc-editor.org/</ulink>を参照)を参照下さい。 + または <ulink url="&url.rfc1896;">RFC 1896</ulink>を参照下さい。 </simpara> <para> <function>mail</function> は、メール送信に成功した場合に &true; 、 @@ -53,7 +107,7 @@ <example> <title>メールを送信する</title> <programlisting role="php"> -mail ("[EMAIL PROTECTED]", "My Subject", "Line 1\nLine 2\nLine 3"); +mail("[EMAIL PROTECTED]", "My Subject", "Line 1\nLine 2\nLine 3"); </programlisting> </example> </para> @@ -64,95 +118,103 @@ </simpara> <note> <para> - Win32システムでは、ヘッダを分割するために<literal>\r\n</literal> - を使用する必要があります。Win32システムでは、cc: および bcc: ヘッ - ダは大文字小文字を区別し、<literal>Cc:</literal>および - <literal>Bcc:</literal>と書く必要があることに注意して下さい。 + +複数のヘッダを区切る場合、<literal>\r\n</literal>を使用する必要 + があります。ただし、いくつかのUnix MTA(Mail transfer +agents)では + 改行文字(<literal>\n</literal>)だけでも動作します。 + Win32システムでは、Cc: ヘッダは大文字小文字を区別し、 + <literal>Cc:</literal>と書く必要があります。Bcc:ヘッダはWin32シ + ステムではサポートされていません。 </para> </note> - <simpara> - 5番目のパラメータを指定した場合、PHPはこのデータをメーラをコール - 際に追加します。この機能は、sendmailを使用する際に正しい - Return-Pathヘッダを設定したい場合に便利です。 - </simpara> <para> <example> - <title>追加ヘッダを指定してメールを送信</title> + <title>追加ヘッダを付加してメールを送信する</title> <programlisting role="php"> -mail("[EMAIL PROTECTED]", "the subject", $message, - "From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion()); +mail("[EMAIL PROTECTED]", "the subject", $message, + "From: webmaster@$SERVER_NAME\r\n" + ."Reply-To: webmaster@$SERVER_NAME\r\n" + ."X-Mailer: PHP/" . phpversion()); </programlisting> </example> - 5番目のパラメータを指定するとこれが使用するメーラのコマンドライン - パラメータに追加されます。以下の例では、sendmailに正しい - Return-Pathを設定しています。通常、sendmailは-fパラメータを使用し - た場合にX-Authentication-Warningヘッダを追加します。これは、通常、 - Webサーバのユーザが認証済のユーザのメンバではないことが多いからで - す。この警告をなくすには、Webサーバのユーザを使用するsendmailの設 - 定ファイルの認証済のユーザ(trusted users)に追加する必要があります。 </para> - <note> - <para> - この5番目のパラメータは、PHP 4.0.5で追加されました。 - </para> - </note> <para> + パラメータ<parameter>additional_parameters</parameter>は、追加の + +パラメータをメール送信プログラムに渡す際に使用可能です。 + メール送信プログラムは、設定オプション + <literal>sendmail_path</literal>により設定されます。例えば、 + +sendmailを使用する際にエンベロープのsenderアドレスを設定する際に + +使用することが可能です。この方法でエンベロープのsenderヘッダを設 + +定する際、'X-Warning'ヘッダが付加されないようにWebサーバを実行し + +ているユーザをsendmail設定に追加しておく必要があるかもしれません。 <example> <title> - ヘッダおよびコマンドラインパラメータを追加してメールを送信 + +追加ヘッダ及び追加コマンドラインパラメータを指定してメールを送信 </title> <programlisting role="php"> -mail("[EMAIL PROTECTED]", "the subject", $message, - "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVERNAME"); +mail("[EMAIL PROTECTED]", "the subject", $message, + "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME"); </programlisting> </example> - 複雑なemailメッセージを作成する際に単純な文字列結合を使用すること + </para> + <note> + <para> + この5番目のパラメータは、PHP 4.0.5で追加されました。 + </para> + </note> + <para> + +複雑なemailメッセージを作成する際に簡単な文字列結合を使用すること も可能です。 <example> <title>複雑なemailを送信する</title> <programlisting role="php"> -/* recipients */ -$recipient .= "Mary <[EMAIL PROTECTED]>" . ", " ; //コンマで区切る -$recipient .= "Kelly <[EMAIL PROTECTED]> . ", "; -$recipient .= "[EMAIL PROTECTED]"; +/* 送信先 */ +$to = "Mary <[EMAIL PROTECTED]>" . ", " ; // カンマで区切る +$to .= "Kelly <[EMAIL PROTECTED]>"; /* 題名 */ $subject = "Birthday Reminders for August"; /* メッセージ */ -$message .= "The following email includes a formatted ASCII table\n"; -$message .= "Day \t\tMonth \t\tYear\n"; -$message .= "3rd \t\tAug \t\t1970\n"; -$message .= "17rd\t\tAug \t\t1973\n"; - -/* 保存されたsigunatureを追加できます */ -$message .= "--\r\n"; // signatureの区切り -$message .= "Birthday reminder copylefted by public domain"; - -/* エラー用、From、cc、bcc、等の追加ヘッダ */ - -$headers .= "From: Birthday Reminder <[EMAIL PROTECTED]>\n"; -$headers .= "X-Sender: <[EMAIL PROTECTED]>\n"; -$headers .= "X-Mailer: PHP\n"; // メイラー -$headers .= "X-Priority: 1\n"; // 緊急メッセージ! -$headers .= "Return-Path: <[EMAIL PROTECTED]>\n"; // エラー時の返信先 +$message = ' +<html> +<head> + <title>Birthday Reminders for August</title> +</head> +<body> +<p>Here are the birthdays upcoming in August!</p> +<table> + <tr> + +<th>Person</th><th>Day</th><th>Month</th><th>Year</th> + </tr> + <tr> + +<td>Joe</td><td>3rd</td><td>August</td><td>1970</td> + +<td>Sally</td><td>17th</td><td>August</td><td>1973</td> + </tr> +</table> +</body> +</html> +'; + +/* HTMLメールを送信する場合、Content-typeヘッダを指定可能です。 +*/ +$headers = "MIME-Version: 1.0\r\n"; +$headers .= "Content-type: text/html; charset=iso-8859-1\r\n"; -/* HTMLメールを送信したい場合、次の行のコメントを外して下さい */ -// $headers .= "Content-Type: text/html; charset=iso-8859-1\n" // MIME型 +/* 追加ヘッダ */ +$headers .= "From: Birthday Reminder <[EMAIL PROTECTED]>\r\n"; -$headers .= "cc:[EMAIL PROTECTED]\n"; // CCの宛先 -$headers .= "bcc:[EMAIL PROTECTED], [EMAIL PROTECTED]"; // BCCの宛先 +$headers .= "Cc: [EMAIL PROTECTED]\r\n"; +$headers .= "Bcc: [EMAIL PROTECTED]\r\n"; /* ここでメールを送信する */ -mail($recipient, $subject, $message, $headers); +mail($to, $subject, $message, $headers); </programlisting> </example> </para> <note> <para> - 追加したパラメータあるいはsubjectパラメータの後に改行(または他の - 空白文字)を付加しないようにして下さい。この場合、おかしな結果に - なってしまう可能性があります。 + <parameter>to</parameter>または<parameter>subject</parameter>に + +改行文字を含まないようにして下さい。さもないと、正常に動作しない + 可能性があります。 </para> </note> </refsect1> @@ -179,13 +241,10 @@ <example> <title>ハッシュ値を計算し、ユーザを登録する</title> <programlisting role="php"> -$user = "[EMAIL PROTECTED]"; +$user = "[EMAIL PROTECTED]"; $hash = ezmlm_hash ($user); -$query = sprintf ("INSERT INTO sample VALUES (%s,'%s')", - $hash, - $user - ); -$db->query ($query); // PHPLIB dbインターフェースを使用します +$query = sprintf ("INSERT INTO sample VALUES (%s, '%s')", $hash, $user); +$db->query($query); // PHPLIB dbインターフェースを使用します </programlisting> </example> </para>