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=/<path>/apache-1.3</command> (substitute <path> 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>/<path>/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 <Virtualhost> or <Directory> 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 = ' '; # substituted via Makefile.tmpl my $CFG_LD_SHLIB = ' '; # substituted via Makefile.tmpl my $CFG_LDFLAGS_SHLIB = ' '; # 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 >test.c <<X #include <sys/resource.h> X $ gcc -E test.c >/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 <file> on line <x>" もしくは "Warning: Supplied argument is not a valid MySQL result resource in <file> on line <x>? </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> > 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_<machinename></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 -->