hirokawa                Sat Nov 10 05:29:23 2001 EDT

  Added files:                 
    /phpdoc/ja/faq      build.xml databases.xml general.xml installation.xml 
                        languages.xml mailinglist.xml migration.xml 
                        migration4.xml misc.xml obtaining.xml 
  Log:
  added faq files.
  

Index: phpdoc/ja/faq/build.xml
+++ phpdoc/ja/faq/build.xml
 <chapter id="faq.build">
  <title>構築時の問題</title>
  <titleabbrev>構築時の問題</titleabbrev>
  
  <para>
   
本節では、構築時に発生する多くの一般的なエラーを集めたものです。
  </para>
  
  <qandaset>
   <qandaentry id="faq.build.configure">
    <question>
     <para>
      anonymous CVSサービスにより最新版のPHPを入手しましたが、
      configureスクリプトがありません!
     </para>
    </question>
    <answer>
     <para>
      configure.inからconfigureスクリプトを生成するためには、GNU
      
autoconfパッケージが必要です。CVSサーバからソースを入手した後、
      最上位のディレクトリで<command>./buildconf</command>を実行して下
      さい。(また、configureに
      <literal>--enable-maintainer-mode</literal>オプションを付けて実
      
行した場合以外は、configureスクリプトはconfigure.inファイルが更
      
新された際に自動的に再構築を行いません。このため、configure.inが
      
変更された場合には忘れずに手動で再構築を行う必要があります。
      
再構築の際に行われることの1つは、configureまたはconfig.statusを
      
実行した後、Makefileの中の@VARIABLE@のような物を見つけることです。)
     </para>
    </answer>
   </qandaentry>
   
   <qandaentry id="faq.build.configuring">
    <question>
     <para>
      
PHPをApacheと組みあわせて動作するようにconfigureを行う際に問題が
      
あります。httpd.hが見付からないといわれますが、指定した場所にこ
      のファイルはあるのです!
     </para>
    </question>
    <answer>
     <para>
      
configure/setupスクリプトにApacheソースツリーの最上位の場所を指
      定する必要があります。これは、'
      <literal>--with-apache=/path/to/apache</literal>'を指定するので
      あって、'<literal>--with-apache=/path/to/apache/src</literal>'で
      はないということです。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.not_found">
    <question>
     <para>
      
configureを実行した際、GD、gdbmまたは他のパッケージのファイルま
      たはライブラリを見つけることができないと言われます。
     </para>
    </question>
    <answer>
     <para>
      
Cプリプロセッサおよびリンカに次のように追加でフラグを指定するこ
      
とにより、configureスクリプトがヘッダファイルまたはライブラリを
      標準以外の場所で探すことが可能となります。
      <programlisting>
    CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
      </programlisting>
      
ログインシェルとしてcsh系のシェルを使用している場合、次のように
      なります。
      <programlisting>
    env CPPFLAGS=-I/path/to/include LDFLAGS=-L/path/to/library ./configure
      </programlisting>
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.yytname">
    <question>
     <para>
      ファイルlanguage-parser.tab.cをコンパイルする際、 'yytname
      undeclared'というエラーが発生します。
     </para>
    </question>
    <answer>
     <para>
      bisonのバージョンを更新する必要があります。最新版は、
      <ulink url="&faqurl.bison;">&faqurl.bison;</ulink>にあります。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.link">
    <question>
     <para>
      
'make'を実行する際、実行には成功しているようですがコンパイルする
      
最終的なアプリケーションをリンクしようとした際に何かファイルが見
      つからないというエラーが発生します。
     </para>
    </question>
    <answer>
     <para>
      
古いバージョンのmakeには、functionsディレクトリにあるファイルの
      
コンパイルされたものを同じディレクトリに正しく入れないものがあり
      ます。"<command>cp *.o functions</command>"を試しに実行してから
      '<command>make</command>' 
を再度実行し、解決されるか確認して下さ
      い。解決される場合には、GNU 
makeの最近のバージョンに更新するべき
      です。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.undefined">
    <question>
     <para>
      
PHPをリンクする際、未定義の参照があるというエラーが複数発生しま
      す。
     </para>
    </question>
    <answer>
     <para>
      Take a look at the link line and make sure that all of the appropriate  
      libraries are being included at the end. Common ones that you might have
      missed are '-ldl' and any libraries required for any database support
      you included.
     </para>
     <para>
      If you're linking with Apache 1.2.x, did you remember to add the
      appropriate information to the EXTRA_LIBS line of the Configuration
      file and re-rerun Apache's Configure script? See the 
      <ulink url="&faqurl.file.installation;">INSTALL</ulink> file that
      comes with the distribution for more information.
     </para>
     <para>
      Some people have also reported that they had to add '-ldl' immediately
      following '<filename>libphp3.a</filename>' when linking with Apache.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.Apache">
    <question>
     <para>
      PHPをApache 1.3と組み合わせて構築する手法が分かりません。
     </para>
    </question>
    <answer>
     <para>
      This is actually quite easy.  Follow these steps carefully:
      <itemizedlist>
       <listitem>
        <simpara>
         Grab the latest Apache 1.3 distribution from 
         <ulink url="&faqurl.apache;">&faqurl.apache;</ulink>.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Ungzip and untar it somewhere, for example 
         <filename>/usr/local/src/apache-1.3</filename>.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Compile PHP by first running 
         <command>./configure --with-apache=/&lt;path&gt;/apache-1.3</command>
         (substitute &lt;path&gt; for the actual path to your apache-1.3 directory.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Type '<literal>make</literal>' followed by '<literal>make install</literal>'
         to build PHP and copy the necessary files to the Apache distribution tree.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Change directories into to your 
<filename>/&lt;path&gt;/apache-1.3/src</filename>
         directory and edit the <filename>Configuration</filename> file. 
         At the end of the file, add: 
         <literal>AddModule modules/php3/libphp3.a</literal>.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Type: '<command>./Configure</command>' followed by '<literal>make</literal>'.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         You should now have a PHP-enabled httpd binary!
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
     <para>
      <emphasis>Note:</emphasis> : You can also use the new Apache 
      <literal>./configure</literal> script. See the instructions in 
      the <literal>README.configure</literal> file which is part of 
      your Apache distribution.  Also have a look at the <filename>INSTALL</filename> 
      file in the PHP distribution.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.not_running">
    <question>
     <para>
      
インストール手順に完全に基づきUNIX上でApacheモジュール版をインス
      
トールしましたが、ブラウザでアクセスするとPHPスクリプトが表示さ
      れ、ファイルを保存しますかときかれます。
     </para>
    </question>
    <answer>
     <para>
      This means that the PHP module is not getting invoked for some reason.
      Three things to check before asking for further help:
      <itemizedlist>
       <listitem>
        <simpara>
         Make sure that the httpd binary you are running is the actual 
         new httpd binary you just built.  To do this, try running: 
         <literal>/path/to/binary/httpd -l</literal>
        </simpara>
        <simpara>
         If you don't see <filename>mod_php3.c</filename> listed then you are 
         not running the right binary.  Find and install the correct binary.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Make sure you have added the correct Mime Type to one of your 
         <literal>Apache .conf</literal> files.  It should be: 
         <literal>AddType application/x-httpd-php3 .php3</literal> (for PHP 3)
        </simpara>
        <simpara>
         or <literal>AddType application/x-httpd-php .php</literal> (for PHP 4)
        </simpara>
        <simpara> 
         Also make sure that this AddType line is not hidden away inside a
          &lt;Virtualhost&gt; or &lt;Directory&gt; block which would
          prevent it from applying to the location of your test script.
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         Finally, the default location of the Apache configuration files 
         changed between Apache 1.2 and Apache 1.3.  You should check to 
         make sure that the configuration file you are adding the AddType 
         line to is actually being read. You can put an obvious syntax error
         into your httpd.conf file or some other obvious change that will 
         tell you if the file is being read correctly.
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.activate_module">
    <question>
     <para>
      <literal>--activate-module=src/modules/php4/libphp4.a</literal>
      と書いてありますが、ファイルがありません。このため、
      <literal>--activate-module=src/modules/php4/libmodphp4.a</literal>に
      
変更しましたが、やはりだめです。何が起きているのでしょう?
     </para>
    </question>
    <answer>
     <para>
      Well, you decided to try to outsmart the people who wrote those nice 
      step-by-step instructions for you and you have now discovered that 
      these people cannot be outsmarted.  The libphp4.a file is not supposed to
      exist.  The Apache build process will create it.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.ansi">
    <question>
     <para>
      <literal>--activate-module=src/modules/php4/libphp4.a</literal>
      
を指定し、PHPを静的モジュールとして組み込んでApacheを構築しよう
      
とした際に、システムがANSI対応ではないというエラーを発生します。
     </para>
    </question>
    <answer>
     <para>
      
Apacheのこのエラーメッセージは紛らわしく、より新しいバージョンで
      は修整されています。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.apxs">
    <question>
     <para>
      <literal>--with-apxs</literal>を指定してPHPを構築しようとした際、
      奇妙なエラーメッセージが出力されます。
     </para>
    </question>
    <answer>
     <para>
      There are three things to check here.  First, for some reason
      when Apache builds the apxs Perl script, it sometimes ends up
      getting built without the proper compiler and flags variables.
      Edit your apxs (sometimes found in /usr/local/apache/bin/apxs
      or /usr/sbin/apxs) and check for these lines:
      <programlisting>
my $CFG_CFLAGS_SHLIB  = '&nbsp;';      # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = '&nbsp;';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = '&nbsp;';      # substituted via Makefile.tmpl
      </programlisting>
      If this is what you see, you have found your problem.  Change these lines 
      to say:
      <programlisting>
my $CFG_CFLAGS_SHLIB  = '-fpic -DSHARED_MODULE';      # substituted via Makefile.tmpl
my $CFG_LD_SHLIB      = 'gcc';          # substituted via Makefile.tmpl
my $CFG_LDFLAGS_SHLIB = q(-shared);# substituted via Makefile.tmpl 
      </programlisting>
      The second possible problem should only be an issue on RedHat-6.1/6.2.
      The apxs script RedHat ships is broken.  Look for this line:
      <programlisting>
my $CFG_LIBEXECDIR    = 'modules';        # substituted via APACI install
      </programlisting>
      If you see the above line, change it to this:
      <programlisting>
my $CFG_LIBEXECDIR    = '/usr/lib/apache';        # substituted via APACI install
      </programlisting>
       Last, if you reconfigure/reinstall Apache, add a 'make clean' 
       to the process after './configure' and before 'make'.
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.build.microtime">
    <question>
     <para>
      
'make'の間、microtimeおよび'RUSAGE_'関連で多くのエラーを発生しま
      す。
    </para>
    </question>
    <answer>
     <para>
      During the 'make' portion of installation, if you encounter problems 
      that look similar to this:
      <programlisting>
    microtime.c: In function `php_if_getrusage':
    microtime.c:94: storage size of `usg' isn't known
    microtime.c:97: `RUSAGE_SELF' undeclared (first use in this function)
    microtime.c:97: (Each undeclared identifier is reported only once
    microtime.c:97: for each function it appears in.)
    microtime.c:103: `RUSAGE_CHILDREN' undeclared (first use in this function)
    make[3]: *** [microtime.lo] Error 1
    make[3]: Leaving directory `/home/master/php-4.0.1/ext/standard'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/home/master/php-4.0.1/ext/standard'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/home/master/php-4.0.1/ext'
    make: *** [all-recursive] Error 1
      </programlisting>
     </para>
     <para>
     Your system is broken.  You need to fix your /usr/include files either 
     by making sure your /usr/include/linux symlink is pointing to the 
     right place in your kernel sources or by installing a glibc-devel 
     package that matches your glibc.  This has absolutely nothing
     to do with PHP.  To prove this to yourself, try this simple test:
     <programlisting>
    $ cat &gt;test.c &lt;&lt;X
    #include &lt;sys/resource.h&gt;
    X
    $ gcc -E test.c &gt;/dev/null
      </programlisting>
      If that spews out errors, you know your include files are messed up. 
     </para>
    </answer>
   </qandaentry>
  </qandaset>
 </chapter>

 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
 sgml-omittag:t
 sgml-shorttag:t
 sgml-minimize-attributes:nil
 sgml-always-quote-attributes:t
 sgml-indent-step:1
 sgml-indent-data:t
 sgml-parent-document:nil
 sgml-default-dtd-file:"../../manual.ced"
 sgml-exposed-tags:nil
 sgml-local-catalogs:nil
 sgml-local-ecat-files:nil
 End:
 -->

Index: phpdoc/ja/faq/databases.xml
+++ phpdoc/ja/faq/databases.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.databases">
  <title>データベースに関する問題</title>
  <titleabbrev>データベースに関する問題</titleabbrev>

  <para>
   
このセクションではPHPとデータベースとの関係に関する一般的な質問を扱
   
います。なんと!PHPは事実上あらゆるデータベースにアクセスすることが
   できます。
  </para>

  <qandaset>
   <qandaentry id="faq.databases.mssql">
    <question>
     <para>
      PHPはMicrosoft 
SQLサーバにアクセスできると聞きました。どうすれば
      よいのでしょうか?
     </para>
    </question>
    <answer>
     <para>
      
Windowsマシン上では、ODBCサポートと適切なODBCドライバを使用すれ
      ばよいだけです。
     </para>
     <para>
      Unixマシン上では、Sybase-CTドライバを使ってMicrosoft 
SQLサーバに
      
アクセスすることができます。なぜなら(ほとんど完全に)プロトコル互
      換だからです。Sybaseは<ulink url="&faqurl.sybase;">Linux用のフリー
      
な必須ライブラリ</ulink>を作成しました。他のUnixシステムでは適切
      
なライブラリを手に入れるためにSybaseと連絡を取る必要があります。
      次の質問に対する回答も参照してください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.databases.access">
    <question>
     <para>Microsoft Accessデータベースにアクセスできますか?</para>
    </question>
    <answer>
     <para>
      はい。もし全て(PHPとMicrosoft Access)をWindows9x/Me/NT/2000上で
      動作させるのであり、ODBCとMicrosoftが提供するODBCドライバ for
      Microsoft 
Accessが使用できる状態ならば、すべての必要なツールは揃っ
      ています。
     </para>
     <para>
      UnixでPHPを動作させてWindowsマシンで操作するMS 
Accessに接続した
      い場合にはUnix ODBCドライバが必要です。<ulink
      url="&faqurl.openlinksw;">OpenLink Software</ulink>がUnixベース
      
のODBCドライバを提供しています。このドライバには無期限の試用版が
      あり、また商用サポートバージョンが675ドル〜
      で提供されています。
     </para>
     <para>
      他には、Microsoft 
SQLサーバにODBCドライバを使用してデータを保存
      するという手段もあります。これによって、Microsoft 
Access(ODBCを
      
使用します)とPHP(組み込まれているドライバを使用します)でデータに
      アクセスすることができます。また、Microsoft 
AccessとPHP両者共に
      解釈可能な中間ファイル(例えば単層からなるファイルや、 
dBaseデー
      タベース等)を使用する手もあります。これに関してはOpeLink
      SoftwareのTim Hayesが以下のように述べています:
      <programlisting>
       
PHPからじかにODBCドライバが使用できる場合(つまりOpenLinkのドラ
       
イバを使用している場合)には、他のデータベースを中継手段として用
       
いることはよいアイデアとは言えない。どうしても中間ファイルが必
       要な場合のために、OpenLinkはNT, Linux, そして他のUnix用の
       
Virtuoso(仮想データベースエンジン)をリリースした。私たちの
       <ulink url="&faqurl.openlinksw;">ウェブサイト</ulink>を訪れても
       らえれば、無料でダウンロードできる。
      </programlisting>
     </para>
     <para>
      
うまくいくことが分かってるもう一つの方法はMySQLと、Windows用の
      
MyODBCドライバを利用してデータベースを同期する方法です。Steve
      Lawrenceが言うには:
     </para>
     <para>
      <itemizedlist>
       <listitem>
        <simpara>
         
MySQLを説明に従って任意のプラットフォームにインストールします。
         最新バージョンは<ulink
         url="&faqurl.mysql;">www.mysql.com</ulink>(ミラーを使うこと!)
         
にあります。データベースを作成するとき、そしてユーザアカウン
         
トを設定するときに、ホストフィールドに%か、MySQLを使ってアク
         
セスするWindowsマシンのホスト名を入力する、ということ以外には
         特別な設定は必要ありません。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         
MySQLサイトからWindows用MyODBCドライバをダウンロードします。
         最新のリリースはmyodbc-2_50_19-win95.zipです(NT版、ソースコー
         
ドも入手可能です)。これをWindowsマシンにインストールします。
         
アーカイブに含まれるユーティリティプログラムでテストを行うこ
         とができます。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         コントロールパネルのODBC 
administratorを使用してユーザ、もし
         
くはシステムDSNを作成します。DSN名を決定して、Step1でMySQLに
         
設定したホスト名、ユーザ名、パスワード、ポート等を入力します。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         
Accessをフルインストールでインストールします。これは適切なア
         
ドインをインストールするためです。少なくともODBCサポートとリ
         ンクテーブルマネージャが必要です。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         
ここからがお楽しみです。新規データベースを作成しましょう。テー
         
ブルウィンドウで右クリックしてリンクテーブルを選択します。も
         
しくはファイルメニューから外部データの取り込みを選びリンクテー
         
ブルを選択します。ファイルブラウザが表示されたらファイルタイ
         
プからODBCを選択します。次にシステムDSNを選択肢STEP3で作成し
         
たDSN名を選択します。リンクするテーブルを選んでOKボタンを押し
         
ましょう。MySQLサーバでテーブルのオープンをオープンできるよう
         
になっていて、データの追加/削除/編集ができるようになっていま
         
す。さらに、クエリの構築、テーブルのインポート/エクスポート、
         フォームやレポートの構築等が可能です。
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
     <para>
      Tips and Tricks(役に立つヒント):
      <itemizedlist>
       <listitem>
        <simpara>
         
Accessでテーブルを作成してそれをMySQLへエクスポートします。そ
         
れを再度アクセスからリンクすれば素早くテーブルを作成すること
         ができます。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         
Accessでテーブルを作成するときは、そのテーブルに書き込み権限
         
をもたせるためにプライマリキーを設定しておく必要があります。
         
Accessとテーブルをリンクする前にMySQLにプライマリキーを設定し
         ておくことも忘れないでください。
        </simpara>
       </listitem>
       <listitem>
        <simpara>
         
MySQL側でテーブル(の構成)を変更した場合、再度Accessとリンクす
         
る必要があります。ツール>アドイン>リンクテーブルマネージャか
         ら適切なODBC 
DSNを選んで再リンクが必要なテーブルを選択します。
         
また、ここでOKボタンを押す前に「リンク先を更新するためのプロ
         
ンプトを毎回表示する」をチェックしておけばDSNソースを移動させ
         ることができます。
        </simpara>
       </listitem>
      </itemizedlist>
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.databases.upgraded">
    <question>
     <para>
      PHP 4にアップグレードしたら、mysqlサーバが"Warning: MySQL:
      Unable to save result set in ..."という警告をしつづけます。何が
      起こっているのでしょうか?
     </para>
    </question>
    <answer>
     <para>
      一番に考えられるのはPHP 4を、MySQLへのパス指定なしに'--
      
with-mysql'オプションをつけてコンパイルしたという場合です。これ
      
はPHPが組み込まれたMySQLクライアントライブラリを使用するというこ
      とを意味します。もしあなたのシステムで、PHP 3やauth-mysqlの
      
apacheモジュールといった他のバージョンのMySQLクライアントを使用
      
するアプリケーションが同時に動作している場合には、各クライアント
      間でバージョンの競合が発生してしまいます。
     </para>
     <para>
      PHP 4を'<link
      linkend="install.configure.with-mysql">--with-mysql=/your/path/to/mysql</link>'
      
というようにオプションにパスを記述して再コンパイルすることで通常
      の場合は問題は解決されます。
     </para>
    </answer>
   </qandaentry>
   
   <qandaentry id="faq.databases.shared-mysql">
    <question>
     <para>
      
共有MySQLサポートをインストールしたら、libphp4がロードされると同
      時にApacheがコアダンプします。直りますか?
     </para>
    </question>
    <answer>
     <para>
      
もしあなたのシステムのMySQLライブラリがpthreadsとリンクされてい
      
る場合にはこの現象が発生します。lddコマンドを使用してチェックし
      
てください。もしpthreadsがリンクされている場合は、MySQLのtarball
      
を展開してソースからコンパイルしなおしてください。もしくはSRPMの
      
SPECファイルのスレッドクライアントコードの箇所を削除してコンパイ
      
ルしなおしてください。いずれかの方法で問題を解決できます。その後、
      
PHPを新しいMySQLライブラリでコンパイルしなおしてください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.databases.mysqlresource">
    <question>
     <para>
      なぜこのようなエラーがでるのでしょうか?: "Warning: 0 is 
not a MySQL
      result index in &lt;file&gt; on line &lt;x&gt;" もしくは "Warning: Supplied 
argument
      is not a valid MySQL result resource in &lt;file&gt; on line &lt;x&gt;? 
     </para>
    </question>
    <answer>
     <para>
      
あなたは値が0である結果(result)IDを指定しようとしています。0はあ
      
なたのクエリが何らかの理由で失敗したことを示しています。応答
      
(result)IDを使用する前に、クエリを送信したあとのエラーをチェック
      
する必要があります。以下のようなコードが正しい方法です。
      <programlisting>
$result = mysql_query("SELECT * FROM tables_priv");
if (!$result) {
    echo mysql_error();
    exit;
}
      </programlisting>
      もしくは
      <programlisting>
$result = mysql_query("SELECT * FROM tables_priv")
    or die("Bad query: ".mysql_error());
      </programlisting>
     </para>
    </answer>
   </qandaentry>
  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/general.xml
+++ phpdoc/ja/faq/general.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<chapter id="faq.general">
  <title>一般的な情報</title>
  <titleabbrev>一般的な情報</titleabbrev>

  <para>
   
このセクションではPHPに関するもっとも基本的な情報(PHPとは何か?PHPは何を
   するものか?等)を扱います。
  </para>

  <qandaset>
   <qandaentry id="faq.general.what">
    <question>
     <para>PHPとは? </para>
    </question>
    <answer>
     <para>
      <link linkend="preface">マニュアルの序文</link>より:
     </para>
     <para>
      PHP は "PHP: Hypertext Preprocessor" を意味し、HTML 埋め込み型の
      スクリプト言語です。 PHP の多くの構文は C、Java、Perl 
言語から転
      用したものですが、PHP 
特有の機能を実装するために独自の構文を導入
      しています。 PHP の目的は、Web 
開発者が動的に生成されるページの
      作成を 速やかに行うことができるようにすることです。 
     </para>
     <para>
      Zend社のウェブサイトでStig Sather Bakkenによるすばらしい
      <ulink url="&faqurl.zend.introduction;">PHPの紹介</ulink>を読む
      ことができます。また、<ulink 
url="&url.php.conf">PHPカンファレンス
      </ulink>の資料の多くは無料で手に入れることができます。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.general.relation-versions">
    <question>
     <para>各バージョン間の関係は?</para>
    </question>
    <answer>
     <para>
      PHP/FI 
2.0はPHPの初期の、そしてもうすでにサポートされていないバー
      ジョンです。PHP 3はPHP/FI 2.0の後継バージョンでPHP/FI 
2.0に比べ
      て大きく進歩しています。PHP 
4はPHPの最新バージョンで、内部に
      <ulink url="&faqurl.zend;">Zend Engine</ulink>を使用しています。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.general.running-concurent">
    <question>
     
<para>異なるバージョンのPHPを同時に実行することができますか?</para>
    </question>
    <answer>
     <para>
      はい。PHP 
4のソースコードディストリビューションに含まれる
      <filename>INSTALL</filename>ファイルを見てください。また、
      <link linkend="migration4.php4.with.php3">付録</link>の関連個所
      にも目を通してください。
     </para>
    </answer>
   </qandaentry>
  
   <qandaentry id="faq.general.differences-34">
    <question>
     <para>PHP 3とPHP 4の違いは何ですか?</para>
    </question>
    <answer>
     <para>
      PHP 4の開発者によって書かれた
      <ulink url="&faqurl.zend.articles;">いくつかの記事</ulink>が在り
      
ます。ここには、非常に重要な新機能の一覧を挙げておきます。
      <itemizedlist>
       <listitem>
        <simpara>拡張APIモジュール</simpara>
       </listitem>
       <listitem>
        <simpara>UNIXでのビルドの一般化</simpara>
       </listitem>
       <listitem>
        
<simpara>マルチスレッドサーバにも対応した一般化されたウェブサー
        バインターフェース</simpara>
       </listitem>
       <listitem>
        <simpara>進化したシンタックスハイライター</simpara>
       </listitem>
        <listitem>
        <simpara>ネイティブHTTPセッションのサポート</simpara>
       </listitem>
       <listitem>
        <simpara>出力のバッファリングサポート</simpara>
       </listitem>
       <listitem>
        <simpara>強力なconfigurationシステム</simpara>
       </listitem>
       <listitem>
        <simpara>参照カウンタのサポート</simpara>
       </listitem>
      </itemizedlist>
      上記機能の詳しい説明については<ulink
      url="&faqurl.zend.new;">What's New in PHP 4 overview</ulink>を参
      照してください。もしPHP 3からPHP 4へ移行する場合には<link
      
linkend="migration4">付録</link>の関連箇所にも目を通してください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.general.bug">
    <question>
     <para>
      バグを見つけました!誰に伝えればよいですか?
     </para>
    </question>
    <answer>
     <para>
      まず、PHP Bug 
Databaseでそれが既知のバグかどうかを調べてください。
      
もしデータベースで見つけることができなければ、「reporting 
form」
      
を使ってバグを報告してください。メーリングリスト等ではなくBug
      
Databaseに報告することは非常に重要です。なぜなら個々のバグには
      「Tracking 
Number」がつけられるため、後からバグの状態をチェック
      することが可能だからです。Bug Databaseは<ulink
      url="&faqurl.php.bugs;">&faqurl.php.bugs;</ulink>にあります。
     </para>
    </answer>
   </qandaentry>
  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/installation.xml
+++ phpdoc/ja/faq/installation.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.installation">
  <title>インストール</title>
  <titleabbrev>インストール</titleabbrev>

  <para>
   
このセクションではPHPのインストール方法に関する一般的な質問扱います。
   
PHPは(OSX以前のMacOSを除けば)ほとんど全てのOSと、ウェブサーバで利用
   可能です。
  </para>
  <para>
   
PHPをインストールには、ディストリビューションに含まれる<ulink
   url="&faqurl.file.installation;">INSTALL</ulink>ファイルの説明に従っ
   てください。ウィンドウズユーザの場合は加えて<ulink
   url="&faqurl.file.readmewin;">install.txt</ulink>ファイルも読む必要
   
があります。またウィンドウズユーザのための役立つヒントが<link
   linkend="install.windows">ここ</link>にあります。
  </para>

  <qandaset>
   <qandaentry id="faq.installation.phpini">
    <question>
     <para>
      Unix/Windows: php.iniファイルはどこに置けばよいのですか?
     </para>
    </question>
    <answer>
     <para>
     UNIXの場合、デフォルトでは<filename>/usr/local/lib</filename>
     です。コンパイル時に
     <link 
linkend="install.configure.with-config-file-path">--with-config-file-path</link>
     
オプションを使用してこの場所を変えたいという人も多いでしょう。
     例えばこのようにすることも出来ます:
     <programlisting>
--with-config-file-path=/etc
     </programlisting>
     そしてディストリビューションの<filename>php.ini-dist</filename>
     を<filename>/etc/php.ini</filename>にコピーして環境に合うように
     編集してください。
     </para>
     <para>
     ウィンドウズの場合、<filename>php.ini</filename>のデフォルトパス
     はWindowsディレクトリになります。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.nodata">
    <question>
     <para>
      Unix: 
PHPをインストールしましたが、ファイルをロードするたびに
      'Document Contains No Data(ページが表示できません)'というメッ
      セージが表示されます。何が起こっているのですか?
     </para>
    </question>
    <answer>
     <para>
      
これはおそらくPHPに何らかの問題が起こっていてコアダンプしている
      
という状態です。サーバのエラーログを見てこのケースかどうかチェッ
      
クしてください。そして小さなテストケースで問題を再現させてみてく
      
ださい。もし'gdb'の使い方が分かるならバグレポートに加えてバック
      
トレースを提供してもらえると開発者が問題の箇所を突き止めるのに非
      
常に役立ちます。もしあなたがPHPをApacheモジュールとして使用して
      いる場合は以下のようにします:
      <itemizedlist>
       <listitem>
        <para>
         httpdを停止します
        </para>
       </listitem>
       <listitem>
        <para>
         gdb httpd
        </para>
       </listitem>
       <listitem>
        <para>
         &gt; run -X -f /path/to/httpd.conf
        </para>
       </listitem>
       <listitem>
        <para>
         ブラウザから問題のあるURLにアクセスします
        </para>
       </listitem>      
       <listitem>
        <para>
         もしコアダンプが発生するとgdbが知らせてくれます
        </para>
       </listitem>      
       <listitem>
        <para>
         bt とタイプします
        </para>
       </listitem>
       <listitem>
        <para>
         
このバックトレースをバグレポートに含めてください。バグレポートは
         <ulink url="&faqurl.php.bugs;">&faqurl.php.bugs;</ulink> 
         から送信してください。
        </para>
       </listitem>
      </itemizedlist>
     </para>
     <para>
     もしそのスクリプトが正規表現関数を使用している場合
     
(<function>ereg</function>やその類似関数)、PHPとApacheが同じ正規表現の
     
パッケージを使用してコンパイルされているかどうかを確認してください。
     PHPとApache 1.3.xを使用している場合は常に確認が必要です。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.processing">
    <question>
     <para>
      Unix: 
RPMを使ってPHPをインストールしたのですが、ApacheがPHPのページを
      処理してくれません。何が起こっているのですか?
     </para>
    </question>
    <answer>
     <para>
     
あなたがApacheとPHPの両方をRPMでインストールしたとすると、いかに示す
     
内容の一部もしくは全てを<filename>httpd.conf</filename>ファイルに追加
     するか、コメントを外す必要があります:
      <programlisting>
# Extra Modules
AddModule mod_php.c
AddModule mod_php3.c
AddModule mod_perl.c

# Extra Modules
LoadModule php_module         modules/mod_php.so
LoadModule php3_module        modules/libphp3.so     /* for PHP 3 */
LoadModule php4_module        modules/libphp4.so     /* for PHP 4 */
LoadModule perl_module        modules/libperl.so
      </programlisting>
      そして以下の行:
      <programlisting>
AddType application/x-httpd-php3 .php3    /* for PHP 3 */
AddType application/x-httpd-php .php      /* for PHP 4 */
      </programlisting>
      
以上の内容を全体設定、もしくはPHPサポートを追加したいバーチャル
      ドメインの設定に加えてください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.compile">
    <question>
     <para>
      Unix: PHP 
3をRPMを使ってインストールしたのですが、そのRPMは私が必
      
要なデータベースサポートなしでコンパイルされたものでした。どうす
      ればよいですか?
     </para>
    </question>
    <answer>
     <para>
      PHP 
3のビルド方法の制約により、どの環境にも対応できる柔軟なPHPの
      RPMを作成するのは困難です。この問題に関してはPHP 
4で取り組んでい
      ます。PHP 3ではとりあえずPHPディストリビューションの
      
INSTALL.REDHATファイルで説明されている方法を用いることをお勧めし
      ます。もしどうしてもRPMバージョンのPHP 
3を使う、という場合は続き
      をお読みください。
     </para>
     <para>
      
RPMのパッケージャはインストール処理を単純化するため、<emphasis>
       
そして</emphasis>標準の/usr/local/ディレクトリではなく/usr/を使
      
用するためにデータベースサポート無しのRPMを作成しています。デー
      タベースサポートを追加するにはRPM 
specファイルにサポートするデー
      
タベースの種類と最上位ディレクトリを指定する必要があります。
     </para>
     <para>
      
以下の例は広く使われているMySQLデータベースサポートを追加して
      
Apacheモジュールをインストールする場合について説明しています。
     </para>
     <para>
      
もちろん以下の全ての情報はPHPがサポートするいずれのデータベース
      
の場合でも対象箇所を適宜変更すれば対応可能です。この場合はMySQL
      
とApache共にRPMのみを使ってインストールしたものと仮定しています。
      <itemizedlist>
       <listitem>
        <para>
         まずmod_php3を削除します : 
         <programlisting>
rpm -e mod_php3
         </programlisting>
        </para>
       </listitem>
       <listitem>
        <para>
         
ソースRPMを手に入れてインストールします。--rebuildではありません。
         <programlisting>
rpm -Uvh mod_php3-3.0.5-2.src.rpm
         </programlisting>
        </para>
       </listitem>
       <listitem>
        <para>
         <filename>/usr/src/redhat/SPECS/mod_php3.spec</filename>を編集します
        </para>
        <para>
         
%buildセクションに追加するデータベースサポートとそのパスを記述します。
        </para>
        <para>
         MySQLの場合は以下のようになります。
         <programlisting>
--with-mysql=/usr \
         </programlisting>
         %buildセクションは例えば以下のようになるでしょう
         <programlisting>
        ./configure --prefix=/usr \
        --with-apxs=/usr/sbin/apxs \
        --with-config-file-path=/usr/lib \
        --enable-debug=no \
        --enable-safe-mode \
        --with-exec-dir=/usr/bin \
        --with-mysql=/usr \
        --with-system-regex
         </programlisting>
        </para>
       </listitem>
       <listitem>
        <para>
         
変更が終了したら以下のようにしてバイナリRPMを構築します:
         <programlisting>
rpm -bb /usr/src/redhat/SPECS/mod_php3.spec
         </programlisting>
        </para>
       </listitem>
       <listitem>
        <para>
         インストールします。
         <programlisting>
rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm
         </programlisting>
        </para>
       </listitem>
      </itemizedlist>
      Apacheを再起動するのを忘れないでください。そうすればPHP 
3には
      
MySQLサポートが追加されているはずです。ただ、ディストリビューショ
      ンのtarファイルから構築してそこに含まれる
      <filename>INSTALL.REDHAT</filename>ファイルにしたがった方がおそ
      らくずっと簡単である、ということも忘れないでください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.frontpage">
    <question>
     <para>
      Unix: 
ApacheにFrontPageエクステンションのパッチを当てたら、突然
      
PHPが動作しなくなってしまいました。PHPはApacheのFrontPageエクス
      テンションと共存することはできないのですか?
     </para>
    </question>
    <answer>
     <para>
      
いいえ。PHPはFrontPageエクステンションと問題なく共存できます。問
      
題はFrontPageエクステンションのパッチがPHPが依存しているApacheの
      
構造の一部を変更してしまうことにあります。パッチを当てた後でPHP
      を再コンパイル('make clean; 
make'として下さい)すれば問題は解決さ
      れます。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.blankscreen">
    <question>
     <para>
      Unix/Windows: 
PHPをインストールしたのですがブラウザからPHPスクリ
      プトにアクセスしても何も表示されません。
     </para>
    </question>
    <answer>
     <para>
      
ブラウザの「ソースの表示」を実行してください。おそらくPHPのソー
      
スコードが表示されると思います。これはウェブサーバがスクリプトを
      
PHPに渡していないためスクリプトが実行されていない、ということを
      
意味します。サーバ側の設定のどこかが間違っているはずですので、
      
PHPインストールマニュアルに従って再度入念に設定を確認してみてく
      ださい。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.500error">
    <question>
     <para>
      Unix/Windows: 
PHPをインストールしたのですがブラウザからPHPスクリ
      プトにアクセスするとInternal Server Error 
500となってしまいます。
     </para>
    </question>
    <answer>
     <para>
      
ウェブサーバがPHPを実行するときに何らかの問題が起きています。ど
      
んなエラーが起こっているか確認するために、コマンドラインでPHP実
      行ファイル(Windowsでは<filename>php.exe</filename>)のあるディレ
      クトリに移動して<literal>php 
-i</literal>を実行して下さい。もし
      
PHPの実行時に問題があった場合は適切なエラーメッセージが表示され
      
るのでそれを手がかりに次に何をすべきかを知ることができます。画面
      一杯にHTML(<function>phpinfo</function>関数の出力)が表示された場
      
合にはPHPは問題なく動作していますので、問題はウェブサーバの設定
      にあるはずです。再度入念にチェックしてみて下さい。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.installation.cgierror">
    <question>
     <para>
      Windows: 
PHPをインストールしたのですがブラウザからPHPスクリプト
      にアクセスすると次のようなエラーが出力されます:
      <programlisting>
cgi error:
 The specified CGI application misbehaved by not
 returning a complete set of HTTP headers.
 The headers it did return are:
      </programlisting>
     </para>
    </question>
    <answer>
     <para>
      
このエラーメッセージはPHPが(何らかの理由で)何も出力できなかった
      
ことを意味します。詳細なエラーメッセージを得るためにはコマンドラ
      インから、PHP実行ファイル(Windowsでは
      <filename>php.exe</filename>)のあるディレクトリに移動して
      <literal>php 
-i</literal>を実行して下さい。もしPHPの実行時に問題
      
があった場合は適切なエラーメッセージが表示されるのでそれを手がか
      りに次に何をすべきかを知ることができます。画面一杯に
      HTML(<function>phpinfo</function>関数の出力)が表示された場合には
      PHPは問題なく動作しています。
     </para>
     <para>
      
PHPがコマンドラインで動作したなら、再度ブラウザからPHPスクリプト
      
にアクセスしてみて下さい。もしまだ失敗するようなら以下のいずれか
      の理由によるものと思われます。
     </para>
     <itemizedlist>
      <listitem>
       <simpara>
        PHPスクリプト, 
        <filename>php.exe</filename>, <filename>php4ts.dll</filename>,
        <filename>php.ini</filename>もしくはロードしようとしているPHP
        
エクステンションのファイルパーミッションが匿名インターネットユー
        ザ<literal>IUSER_&lt;machinename&gt;</literal>にアクセスできな
        いものになっている。
       </simpara>
      </listitem>
      <listitem>
       <simpara>
        
スクリプトが存在しない(もしくはあなたが在ると思っている場所と
        
ウェブサーバのルートディレクトリからの相対位置がずれている)。
        IISを使用している場合は、Internet Service Managerでスクリプト
        
マッピングを設定するときに「ファイルの存在を確認する」にチェッ
        
クをすることでこのエラーをトラップすることができます。もしスク
        
リプトファイルが存在しない場合はサーバが代わりに404エラーを返
        
すようになります。これにはもう一つ利点があります。それはIISが
        
スクリプトファイルのNTLanManパーミッションに応じて認証を要求す
        るようになる、ということです。
       </simpara>
      </listitem>
     </itemizedlist>
    </answer>
   </qandaentry>

   <qandaentry id="faq.install.phpandiis">
    <question>
     <para>
      Windows: 全ての説明に従っているのにPHPがIISで動作しません!
     </para>
    </question>
    <answer>
     <para>
      PHPスクリプトを実行しようとするあらゆるユーザが
      
<filename>php.exe</filename>の実行権限を必要としているということを忘
      
れないでください。IISはインストール時に追加された匿名ユーザを使用し
      
ます。このユーザに対して<filename>php.exe</filename>の実行権限が必要
      です。また、認証された全てのユーザに関しても
      
<filename>php.exe</filename>の実行権限が必要です。IIS4の場合はさらに
      
PHPがスクリプトエンジンであるということを教えてやる必要があります。
     </para>
    </answer>
   </qandaentry>

  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/languages.xml
+++ phpdoc/ja/faq/languages.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.languages">
  <title>PHPと他の言語</title>
  <titleabbrev>PHPと他の言語</titleabbrev>

  <para>
   
PHPはウェブプログラミングをするには最高の言語です。が、他の言語はどうなので
   しょうか?
  </para>

  <qandaset>
   <qandaentry id="faq.languages.asp">
    <question>
     <para>PHP vs. ASP?</para>
    </question>
    <answer>
     <para>
      ASPそれ自体は言語ではなく、Active Server 
Pagesの頭文字です。ASPを作成す
      るのに使用される実際の言語はVisual Basic 
ScriptかJScriptです。ASPの最大
      の欠点は、それがMicrosoft Internet Information Server 
(IIS)でのみ動作す
      
るメーカー独自のシステムだという点です。これにより、ASPはWin32ベースのサー
      
バ上でしか動作しません。ASPを他のプラットフォーム、ウェブサーバで動作さ
      せようといういくつかのプロジェクトが進行中です:
      <ulink url="&faqurl.halcyon;">Halcyon</ulink>の<ulink
      url="&faqurl.instantasp;">InstantASP</ulink>(商用)、<ulink
      url="&faqurl.chilisoft;">Chili!Soft</ulink>の<ulink
      url="&faqurl.chilisoft.asp;">Chili!Soft ASP</ulink>(商用)、そして<ulink
      url="&faqurl.openasp;">ActiveScripting.orgのOpenASP</ulink>です。
      
ASPはPHPに比べて遅く、面倒で安定性も低いといわれています。ASPのプロフェッ
      
ショナルの人たちの中には、ASPでは主にVBScriptが使用されているのでVisual
      
Basicでのプログラミングに慣れている人にとっては覚えるのが比較的簡単だ、
      
という人もいます。また、IISサーバではASPサポートがデフォルトで有効になっ
      
ているので設定が簡単という利点もあります。ASPに組み込まれているコンポー
      
ネントは非常に限られていて、もしFTPサーバと協調するといった「進んだ」機
      
能を使おうと思ったら別途コンポーネントを購入しなければなりません。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.languages.aspconverter">
    <question>
     <para>ASPからPHPへのコンバータはありますか?</para>
    </question>
    <answer>
     <para>
      はい。<ulink url="&faqurl.asp2php;">asp2php</ulink>が有名です。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.languages.coldfusion">
    <question>
     <para>PHP vs. Cold Fusion?</para>
    </question>
    <answer>
     <para>
      世間ではPHPはCold 
Fusionに比べて速く、複雑なプログラミングを
      
効率的に行うことができ、新しいアイデアを意欲的に取り込んでいる、と言われ
      
ています。また、安定していてより少ないリソースで動作するというのが一般的
      な意見です。Cold 
Fusionはエラー処理、データベースの抽象化、日付
      
の扱いにおいて優れていますが、データベースの抽象化についてはPHP
 4で行わ
      れています。Cold 
Fusionの利点として挙げられることの一つに、その優れたサー
      
チエンジンがありますが、サーチエンジンはウェブスクリプト言語に含まれるべ
      
き機能ではないのではないか、という意見もあります。PHPはほとんど全てのプ
      ラットフォームで動作しますがCold Fusionが動作するのはWin32, 
Solaris,
      Linux, 
HP/UXだけです。PHPは初期段階から多少のプログラミングに関する知識
      を必要としますが、Cold 
FusionにはすばらしいIDEがあって、一般にとっつ
      きやすいと言われています。Cold 
Fusionはプログラマではない人たちも意識し
      
てデザインされていますが、PHPはプログラマ主なターゲットとしています。
     </para>
     <para>
      Michael J 
Sheldonによるこのトピックに関するすばらしいサマリがPHPのメーリ
      ングリストに投稿されました。<ulink 
url="&faqurl.coldfusion.summary;">こ
      こ</ulink>でその内容を読むことができます。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.languages.perl">
    <question>
     <para>PHP vs. Perl?</para>
    </question>
    <answer>
     <para>
      
PHPのPerlに対して最も有利な点ははPerlが何もかもやろうとしてその結果複雑
      
になってきているのに対して、PHPはウェブスクリプティングを念頭においてデ
      
ザインされていることです。Perlの柔軟さ/複雑さは、他人にとって非常に読み
      
にくいコードが簡単に書けてしまうということでもあります。PHPは、柔軟さを
      
失うことなくそれほどややこしくもなく厳密でもない構成になっています。
      
PHPはPerlに比べ、簡単に既存のHTMLに統合することができます。PHPにはPerl
      
で使用されている非常に多くの「良い」機能があります:構成や文法等です。そ
      
してこれらがPerlほど複雑になることなく提供されます。Perlは80年代後半から
      
在る十分に枯れた真の言語ですが、PHPは急速に成長しています。
 
     </para>
    </answer>
   </qandaentry>

  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/mailinglist.xml
+++ phpdoc/ja/faq/mailinglist.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.mailinglist">
  <title>メーリングリスト</title>
  <titleabbrev>メーリングリスト</titleabbrev>

   <para>
    
このセクションではPHPのコミュニティへの参加に関する質問を扱います。
    最良の方法はメーリングリストに参加することです。
   </para>

  <qandaset>
   <qandaentry id="faq.mailinglist.isthere">
    <question>
     <para>PHPのメーリングリストはありますか?</para>
    </question>
    <answer>
     <para>
      
もちろんです!様々なトピックに関するたくさんのメーリングリストが
      あります。メーリングリストの一覧が私たちの<ulink
      url="&faqurl.php.support;">サポートページ</ulink>にあります。
     </para>
     <para>
      
最も一般的なメーリングリストが<literal>php-general</literal>です。
      参加するには <ulink
      
url="mailto:&faqmail.ml.general.subscribe;";>&faqmail.ml.general.subscribe;</ulink>
      
にメールを送ってください。Subjectや本文には何も記述する必要はあ
      りません。脱退するには
      <ulink 
url="mailto:&faqmail.ml.general.unsubscribe;";>&faqmail.ml.general.unsubscribe;</ulink>
      にメールを送信してください。
     </para>
     <para>
      また、私たちの<ulink 
url="&faqurl.php.support;">サポートページ</ulink>を
      通じて参加/脱退を行うこともできます。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.mailinglist.others">
    <question>
     <para>他にコミュニティはありますか?</para>
    </question>
    <answer>
     <para>
      世界中に数え切れないほどあります。<ulink 
url="&faqurl.php.support;">
      サポートページ</ulink>には例としていくつかの
      
IRCサーバや他の国のメーリングリストへのリンクがあります。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.mailinglist.subscribing">
    <question>
     <para>
      Help!メーリングリストに参加/脱退できません!
     </para>
    </question>
    <answer>
     <para>
      
もし、メーリングリストへの参加/脱退で問題が起きているなら、それはおそら
      
くシステムがあなたのメールアドレスを正しく取得できていないからだと思われ
      
ます。仮にあなたのメールアドレスを<literal>[EMAIL PROTECTED]</literal>
      とすると、参加のリクエストは
      <literal>[EMAIL PROTECTED]</literal>、
      脱退のリクエストは
      <literal>[EMAIL PROTECTED]</literal>
      
へメールを送信することで行うことができます。他のメーリングリストに関しても同様です。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.mailinglist.archive">
    <question>
     
<para>どこかにメーリングリストのアーカイブ(過去ログ)はありますか?</para>
    </question>
    <answer>
     <para>
       はい。<ulink url="&faqurl.php.support;">サポートページ</ulink>に
       アーカイブサイトの一覧があります。また、メーリン
       
グリストの記事はnewsメッセージとしても記録されています。ニュースクライ
       アントで<ulink url="&faqurl.php.news;">&faqurl.php.news;</ulink>
       へアクセスすることができます。さらに、
       <ulink url="&faqurl.php.newsweb;">&faqurl.php.newsweb;</ulink>
       に実験的なnewsサーバへのWebインターフェースがあります。
     </para>
    </answer>
   </qandaentry>
  
   <qandaentry id="faq.mailinglist.question">
    <question>
     
<para>メーリングリストではどんな質問をすることができるのですか?</para>
    </question>
    <answer>
     <para>
      PHPが日進月歩で有名になっている影響で、php-general 
メーリングリストの流
      
量も増加しています(今のところ、1日あたり150〜200通の流量があります)。な
      
ので、参加者全員の利益のために、メーリングリストは他のどこを当たっても駄
      目だった場合の最後の手段にしてください。
     </para>
     <para>
      
メーリングリストに投稿する前にこのFAQとマニュアルを見て手がかりを探して
      
ください。もし駄目なら次にメーリングリストのアーカイブをチェックしてくだ
      
さい(上記参照)。もし、PHPのインストールもしくは設定で問題が起こっている
      
場合は(ソースアーカイブに含まれる)すべてのドキュメントとREADMEファイルに
      
目を通してください。それでも問題が解決できない場合にメーリングリストを使
      用することは大歓迎です。
     </para>
    </answer>
   </qandaentry>
   
   <qandaentry id="faq.mailinglist.guideline">
    <question>
     
<para>メーリングリストに投稿するときには、どんな情報を含めればよいのですか?</para>
    </question>
    <answer>
     <para>
      
「PHPが動作しません。助けて!何がおかしいのですか?」といった投稿は間違
      
いなく誰にとっても無意味なものです。もしPHPが動作しないのであれば、あな
      
たが使用しているオペレーティングシステム、PHPのバージョン、またそれをど
      
のように手に入れたか(コンパイル済みだった、CVSから手に入れた、RPMで提供
      
されたものだった、等)、動作させようとしてあなたはどんなことをしたのか、
      
どこであなたは行き詰まって、どんなエラーメッセージが出るのか、といった情
      報を記述する必要があります。
     </para>
     <para>
      
これは他のどんな問題にも当てはまることです。あなたは、何をしたのか、どこ
      
で行き詰まっているのか、何をしようとしているのか、もしできるなら正確なエ
      
ラーメッセージを記述してください。もしあなたが書いたPHPのプログラムで問
      
題が起こった場合は、動作しない個所のソースコードを含める必要があります。
      
でも、必要以上のソースコードは含めないでください!さもないと、あなたの投
      
稿は非常に読みにくいものとなり多くのひとはこうした投稿を読み飛ばしてしま
      
います。もし、どれくらいの情報を含めればいいのか分からない場合には、でき
      
るだけの情報を記述してください(多いに越したことはありません)。
     </para>
     <para>
      
もう一つ重要な点があります。それはSubjectであなたの問題を端的に表すこと
      
です。「助けてーー!」とか「何かおかしいのでしょうか?」といったSubject
      のついたメールはほとんど人に無視されてしまいます。
     </para>
    </answer>
   </qandaentry>
  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/migration.xml
+++ phpdoc/ja/faq/migration.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.migration">
  <title>PHP 2からPHP 3への移行</title>
  <titleabbrev>PHP 2からPHP 3への移行</titleabbrev>

  <para>
   PHPにはすでに長い歴史があります。あのPHP 1.0, PHP/FI, PHP 3.0 
そして PHP
   4.0です。
  </para>

  <qandaset>
   <qandaentry id="faq.migrating.phpfi">
    <question>
     <para>
      PHP 2からPHP 3への移行に関して
     </para>
    </question>
    <answer>
     <para>
      PHP/FI 2.0はもうサポートされていません。PHP/FI 
2.0からの移行に関しては
      <link 
linkend="migration">移行に関する付録の該当セクション</link>を参
      照してください。
     </para>
     <para>
      もしあなたがまだPHP 2を使用している場合、私たちは(PHP 
3ではなく)PHP 4へ
      のアップグレードを<emphasis>強く</emphasis>お勧めします。
     </para>
    </answer>
   </qandaentry>

  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/migration4.xml
+++ phpdoc/ja/faq/migration4.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.migration4">
  <title>PHP 3からPHP 4への移行</title>
  <titleabbrev>PHP 3からPHP 4への移行</titleabbrev>

  <para>
   PHPにはすでに長い歴史があります。あのPHP 1.0, PHP/FI, PHP 3.0 
そして PHP
   4.0です。
  </para>

  <qandaset>
   <qandaentry id="faq.migration4.php34">
    <question>
     <para>
      PHP 3からPHP 4への移行に関して
     </para>
    </question>
    <answer>
     <para>
      PHP 
4は以前のバージョンとできる限りの互換性を保つようにデザインされてい
      
て、失われた相関性は極わずかです。もし互換性に不安がある場合はPHP
 4をテ
      
スト環境にインストールしてみてスクリプトを実行してみてください。
     </para>
     <para>
      また、マニュアルの<link 
linkend="migration4">移行に関する付録の適切な箇所
      </link>も参照してください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.migration4.incompatible">
    <question>
     <para>
       関数の互換性は?
     </para>
    </question>
    <answer>
     <para>
      PHP 
4は基本的にPHPのエンジン部分を完全に書き直してものであるため、変更さ
      れた関数は極わずかです。
     </para>
    </answer>
   </qandaentry>

  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/misc.xml
+++ phpdoc/ja/faq/misc.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
 <chapter id="faq.misc">
  <title>その他の質問</title>
  <titleabbrev>その他の質問</titleabbrev>

   <para>
    
ここでは他のカテゴリに分類することができないような質問を扱います。
   </para>

  <qandaset>
   <qandaentry id="faq.misc.popup">
    <question>
     <para>
      
以前のウェブサイトにあったポップアップウィンドウはどこへ行ってしまった
      のですか?
      あのソースコードを手に入れることができますか?
     </para>
    </question>
    <answer>
     <para>
      
前のサイトの黄色いポップアップウィンドウはかなりかっこよかったのですが、
      
同時にメンテナンスが困難でもありました(なぜなら、とある会社はリリースの
      
度にブラウザの挙動を変化させるのを楽しんでいる節があるからです)。
    </para>
    <para>
      
以前のバージョンで使用されていたウェブサイトのソースコードは、CVSを通じ
      
て現在も手に入れることができます。特に、前回のバージョンのshared.inc(こ
      
のファイルにはポップアップのための全てのJavascriptとDHTMLが含まれていま
      す)は<ulink 
url="&faqurl.popup;">ここ</ulink>から手に入れることができま
      す。
     </para>
    </answer>
   </qandaentry>

  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Index: phpdoc/ja/faq/obtaining.xml
+++ phpdoc/ja/faq/obtaining.xml
<?xml encoding="utf-8"?>
<!-- $Revision: 1.1 $ -->
<chapter id="faq.obtaining">
 <title>PHPを手に入れるには</title>
  <titleabbrev>PHPを手に入れるには</titleabbrev>

   <para>
    
このセクションにはPHPをダウンロードする詳しい場所や、OSに関する話題を扱い
    ます。
   </para>

  <qandaset>
   <qandaentry id="faq.obtaining.where">
    <question>
     <para>PHPはどこで手に入れることができますか?</para>
    </question>
    <answer>
     <para>
      
PHPネットワークのどのメンバーのサイトからでもダウンロードすることができ
      ます。これらは<ulink url="&faqurl.php;">&faqurl.php;</ulink>
      から見つけることができます。また匿名
      
CVSを使って最新のソースコードを手に入れることもできます。詳しい情報は、
      <ulink 
url="&faqurl.php.cvs;">&faqurl.php.cvs;</ulink>を参照してください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.obtaining.precompiled">
    <question>
     <para>コンパイル済みのバージョンはありますか?</para>
    </question>
    <answer>
     <para>
      
私たちはWindows版のみコンパイル済みのバイナリを配布しています。というの
      
もPHPをすべてのLinux/Unixのプラットホーム用にすべての拡張モジュールの組
      
み合わせでコンパイルするのは不可能だからです。ただ、最近の多くのLinuxディ
      
ストリビューションには予めPHPがインストールされています。Windows用のバイ
      ナリは<ulink url="&faqurl.php.download;">ダウンロードページ</ulink>
      からダウンロードすることができます。Linux用のバ
      
イナリについてはあなたが使用しているディストリビューションのウェブサイト
      を訪れてください。
     </para>
    </answer>
   </qandaentry>

   <qandaentry id="faq.obtaining.optional">
    <question>
     <para>
      
一部のPHP拡張モジュールのコンパイルに必要なライブラリはどこで手に入りま
      すか?
     </para>
    </question>
    <answer>
     <para>
      <note>
       <simpara>
        
*印がついているものはスレッドセーフなライブラリではないため、Windows用
        のマルチスレッドなウェブサーバ(IIS, 
Netscape)のサーバモジュールとして
        
コンパイルされたPHPで使用してはいけません。現在のところUnix環境では関
        係ありません。
       </simpara>
      </note>
     </para>
     <para>
      <itemizedlist>
       <listitem>
            <simpara>
             <ulink url="&faqurl.ldap;">LDAP (unix)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.ldap.mt;">LDAP* (unix)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.ldap.netscape;">LDAP (unix/win)</ulink> : 
             Netscape Directory (LDAP) SDK 1.1.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.ldap.netscape;">free LDAP server</ulink>.
            </simpara>
           </listitem>
           <listitem>
            <simpara>
             <ulink url="&faqurl.sleepycat;">Berkeley DB2 (Unix/Win)</ulink> :
             &faqurl.sleepycat;.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.snmp;">SNMP* (Unix): </ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.gd;">GD* (Unix/Win)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.msql.win;">mSQL* (Win)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.msql.unix;">mSQL* (Unix)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.mysql;">MySQL* (Unix)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.imap;">IMAP* (Win/Unix)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.sybase;">Sybase-CT* (Linux, libc5)</ulink> : 
             Available locally.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.freetype;">FreeType (libttf):</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.zlib;">ZLib (Unix/Win32)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.expat;">expat XML parser (Unix/Win32)</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.pdflib;">PDFLib</ulink>.
            </simpara>
           </listitem>     
       <listitem>
            <simpara>
             <ulink url="&faqurl.mcrypt;">mcrypt</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.mhash;">mhash</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.t1lib;">t1lib</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.dmalloc;">dmalloc</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.aspell;">aspell</ulink>.
            </simpara>
           </listitem>
       <listitem>
            <simpara>
             <ulink url="&faqurl.readline;">readline</ulink>.
            </simpara>
           </listitem>
          </itemizedlist>
     </para>
    </answer>
   </qandaentry>
  
   <qandaentry id="faq.obtaining.how">
    <question>
     <para>上記のライブラリはどのように使うのですか?</para>
    </question>
    <answer>
     <para>
      
個々のライブラリで提供される情報に従ってください。いくつかのライブラリ
      
(GD等)は、PHPのconfigureスクリプト実行時に自動的に検出されます。その他の
      
ライブラリに関しては<literal>configure</literal>スクリプトのオプションに
      
'<literal>--with-EXTENSION</literal>'オプションを追加すること使用できます。
      '<literal>configure 
--help</literal>'を実行するとこれらのオプション一覧が
      表示されます。
     </para>
    </answer>
   </qandaentry>
   <qandaentry id="faq.obtaining.compileNT">
    <question>
     <para>
      
CVSリポジトリから最新のPHPソースコードを手に入れました。Windows上でコン
      パイルするにはどうしたらよいですか?
     </para>
    </question>
    <answer>
     <para>
      まず、Microsoft Visual C++ 
v6が必要です(v5でも問題ないかもしれませんが、
      
v6を使ってください)。加えて、いくつかのファイルが必要です。マニュアルの
      <link 
linkend="install.windows.build">ソースからの構築</link>を参照してください。
    </para>
    </answer>
   </qandaentry>
   <qandaentry id="faq.obtaining.browscap">
    <question>
     
<para>ブラウザキャパビリティファイルはどこで手に入りますか?</para>
    </question>
    <answer>
     <para>
      <filename>browscap.ini</filename>ファイルは
      <ulink url="&faqurl.browscap;">&faqurl.browscap;</ulink>で手に入れるこ
      とができます。
     </para>
    </answer>
   </qandaentry>
  </qandaset>
 </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

Reply via email to