インストール
このセクションでは、インストール プロセス中に発生する最も一般的な問題について説明します。 PHP は、ほぼすべての OS (おそらく OSX より前の MacOS を除く) およびほぼすべての WEB サーバーに適しています。
PHP をインストールするには、ディストリビューションに含まれるインストール ファイルの指示に従ってください。Windows ユーザーは、ここにいくつかのヘルプ ドキュメントもあります。 1. Unix/Windows: php.ini をどこに置くべきですか? 2. Unix: PHP をインストールしましたが、ドキュメントをロードするたびに次のメッセージが表示されます: 「ドキュメントにデータが含まれていません。何が起こっていますか?」 Unix: PHP をインストールするために RPMS を使用しましたが、Apache は PHP ページをサポートしていません。どうすればよいですか? 4. Unix: RPMS を使用して PHP 3 をインストールしましたが、必要なデータベース コンパイル サポートがありません。 ? 5. Unix: Apache に FrontPage 拡張パックを適用したところ、突然 PHP が動作しなくなりました。 PHP と Apache FrontPage パッケージには互換性がありませんか? 6. Unix/Windows: PHP をインストールしましたが、ブラウザで PHP ページを表示すると空白になります。 7. Unix/Windows: PHP をインストールしましたが、ブラウザで PHP ページを表示すると、サーバー 500 エラーが発生しました。 8. 一部のオペレーティング システム: PHP をエラーなしでインストールしましたが、Apache を起動すると、未定義のエラーが発生しました。シンボルエラー:
[mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd 未定義のシンボル: _compress _uncompress9 Windows: PHP をインストールしましたが、ブラウザで PHP ページを見ると、次のエラーが発生します:
cgi エラー: 指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さなかったため、誤動作しました。返されたヘッダーは次のとおりです。 Windows: インストール要件に厳密に従いましたが、依然として IIS で php を動作させることができません。
1. Unix/Windows: php.ini ファイルはどこに置くべきですか?
UNIX ではデフォルトで /usr/local/lib ディレクトリに配置されます。 これは、
Windows での php.ini のデフォルトのパスは Windows システム ディレクトリです。Apache Web サーバーを使用している場合、php.ini は最初に Apache インストール ディレクトリにあります (例: c:program filesapache groupapache)。 php.ini は (同じマシン上の) 異なるバージョンの Apache に対応します。
詳細については、設定ファイルを参照してください。
2. Unix: PHP をインストールしましたが、ドキュメントをロードするたびに、「ドキュメントにデータが含まれていません。何が起こっていますか?」というメッセージが表示されます。 🎜 >これは、PHP でコアダンピング エラーが発生している可能性があります。 サーバー エラー ログ ファイルを調べて、これに該当するかどうかを確認してください。 次に、エラーを報告します。 「gdb」の使用方法を知っている場合は、エラー レポートにバックトレースを提供できます。これは、開発者がこの問題を解決するのに非常に役立ちます。 PHP を Apache モジュールとして使用している場合は、以下の手順に従ってください:
httpd プロセスを停止します。
gdb httpd
httpdプロセスを停止します
> -X -f /path/to/httpd.conf を実行します。
エラーを起こしたばかりの URL を参照します
> -X -f /path/to/httpd.conf を実行します。
まだコア ダンプがある場合は、gdb が通知します。
タイプ: bt
バックトレースはバグレポートに含める必要があります。 これらは http://bugs.php.net/ に送信されます。
スクリプトで正規表現関数 (ereg() とその友達) を使用する場合は、同じ正規表現を使用して PHP と Apache をコンパイルする必要があります。パッケージ。 PHP および Apache 1.3.x では、このプロセスは自動化されています。
3. Unix: PHP をインストールするために RPMS を使用しましたが、Apache は PHP ページをサポートしていません。どうすればよいですか?
Apache と PHP を (RPM から) インストールした場合、コメントを解除するか、いくつかの行を追加する必要があります。あなたの http .conf ファイル内:
#エクストラモジュールモジュールmod_php.caddmodule mod_php3.caddmodule mod_perl.cモジュールperl_moduleモジュール/libperl.soそして以下を追加します:
AddType application/x-httpd-php3 .php3 /* PHP 3 の場合 */AddType application/x-httpd-php .php /* PHP 4 の場合 */... グローバル ドメイン、またはサポートする PHP に仮想ドメイン内で。
4. RPMS を使用して PHP 3 をインストールしましたが、必要なデータベース オプションがサポートされていません。どうすればよいですか?
PHP 3 は組み込みでサポートされているため、適切な完全な PHP をコンパイルしてください。すべてのアプリケーションにとって、RPM は非常に困難です。 これについては PHP 4 で説明されています。 PHP 3 の場合、(PHP パッケージ内の) INSTALL.REDHAT で説明されているメカニズムを使用することのみをお勧めします。PHP 3 の RPM バージョンを使用する必要がある場合は、以下をお読みください。
RPM パッケージ マネージャーのセットアップ RPMS データベース サポートなしの簡単なインストール。RPMS は標準の /usr/local/ ディレクトリ ストレージ ファイルの代わりに /usr/ を使用します。サポートするデータベースとその最上位ディレクトリの場所を RPM ファイルに伝える必要があります。
次の例では、Apache モードで人気のあるデータベース Mysql をサポートする方法を説明します。
もちろん、これらすべてを少し変更して、他の PHP がサポートするデータベースをサポートすることもできます。 MySQL と Apache が完全に RPMS を使用してインストールされていることを前提としています。
まず、mod_php3 を削除します。
rpm -e mod_php3
次に、--recompile ではなく、rpm パッケージを取得してインストールします。
rpm -Uvh mod_php3-3.0.5-2.src.rpm
/usr/src/redhat/SPECS/mod_php3.spec ファイルを編集します。
必要なデータベース サポートとパス情報を %build セクションに追加します。
MySQL の場合は、以下を追加する必要があります。
--with-mysql=/usr %build セクションは次のようになります。
./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
変更が完了したら、次のように rpm を再プログラムします。
rpm -bb /usr/src/redhat/SPECS/mod_php3.spec
次に rpm をインストールします
rpm -ivh /usr/src/redhat/RPMS/i386/mod_php3-3.0.5-2.i386.rpm Apache を再起動すると、rpm で Mysql がサポートされるようになります。 この方法は、PHP 3 tarball コードを再取得して INSTALL.REDHAT の段階的な指示に従うよりもはるかに簡単であることに注意してください。
5. Unix: Apache に FrontPage 拡張パックを適用したところ、突然 PHP が動作しなくなってしまいました。 PHP と Apache FrontPage パッケージには互換性がありませんか?
いいえ、PHP と FrontPage 拡張パッケージは問題なく動作します。問題は、FrontPage パッケージがいくつかの Apache 構造パラメータを変更し、PHP がそれらを使用することです。FrontPage 拡張パッケージを追加した後、PHP を再コンパイルする (「make clean; make」を使用する) と、この問題は解決されます。
6. Unix/Windows: PHP をインストールしましたが、ブラウザーで PHP ページを表示すると空白になります。
「ソースの表示」を使用してブラウザでスクリプトを表示すると、表示されているものがソース プログラムであることがわかる場合があります。 これは、Web サーバーが実行のためにスクリプトを PHP に送信しないことを意味します。サーバーの構成に何か問題があるはずです。 PHP インストールのサーバー構成を再確認してください。
7. Unix/Windows: PHP をインストールしましたが、ブラウザで PHP ページを表示すると、サーバー 500 エラーが発生しました。
これは、PHP 実行時のサーバー エラーです。 読み取り可能なエラー メッセージを確認するには、コマンド ラインで php.exe (Windows) が存在するディレクトリに移動し、php -i を実行します。問題がある場合は、詳細なエラー メッセージが表示され、対処方法が示されます。次に何をするか。 HTML コード (phpinfo() 関数の出力) でいっぱいの画面が表示された場合、PHP は正常に動作しており、エラーの原因はサーバー構成にあるため、慎重に確認する必要があります。
8. 一部のオペレーティング システム: PHP をエラーなしでインストールしましたが、Apache を起動すると、未定義のシンボル エラーが発生しました。
[mybox:user /src/php4] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd 未定義のシンボル: _compress _uncompress
この問題は実際には PHP とは関係なく、MySQL クライアント ライブラリに関係しています。 --with-zlib では、一部のオペレーティング システムではこれが必要ですが、一部のオペレーティング システムでは必要ありません。 MySQL FAQ ではすでにこの問題を取り上げています。
9. Windows: PHP をインストールしましたが、ブラウザで PHP ページを見ると、次のエラーが表示されます。
cgi エラー: 指定された CGI アプリケーションは、HTTP ヘッダーの完全なセットを返さなかったため、誤動作しました。返されたヘッダーは次のとおりです。
これは、出力をまったく生成しない PHP です。 読み取り可能なエラー メッセージを確認するには、コマンド ラインで php.exe (Windows) が存在するディレクトリに移動し、php -i を実行します。問題がある場合は、詳細なエラー メッセージが表示され、対処方法が示されます。次に何をするか。 画面が HTML コード (phpinfo() 関数の出力) でいっぱいであれば、PHP は正常に動作しています。
PHP がコマンド ライン モードで動作したら、スクリプトを確認してください。おそらく次の理由が原因です。
PHP スクリプトの権限。 php.exe、php4ts.dll、php.ini、またはロードする可能性のあるすべての PHP ファイルは、匿名インターネット ユーザー ISUR_
スクリプト ファイルがまったく存在しません (または、あると思われる場所にありません)。IIS では、スクリプト マッピング ディレクトリを設定するときに [ファイルが存在することを確認する] ボックスをチェックすることで、このエラーをブロックできることに注意してください。このように、スクリプトが存在しない場合、サーバーは 404 エラーを返します。 これを行うと、IIS が承認された操作のみを実行するという他の利点もあります。
10. Windows: インストール要件に厳密に従いましたが、依然として IIS で php を動作させることができません。
PHP を実行したいユーザーが php.exe を操作する権限を持っていることを確認してください。IIS は、IIS のインストール時にシステムによって自動的に追加される匿名のインターネット ユーザーを使用します。 このユーザーには、php.exe を操作するための権限が必要です。また、認証が必要なユーザーには、php.exe にアクセスするための権限も必要です。IIS4 では、PHP がスクリプト エンジンであることを IIS4 に伝える必要があります。