PHP content-type=text/html の問題
著者:Eve Cole
更新時間:2009-06-02 18:06:56
最近フォーラムでそのような質問をよく見かけたので以下の文章を書きました。アドバイスをお願いします。 ! ! PHP4 の冗長な情報を削除する方法については、このサイトの FAQ にすでに回答がありますが、厳密に言うと、この情報は 2 つの部分に分かれています。1 つは PHP が実行されていることを示すメッセージであり、それが X-POWERED- BY など ; 別の部分では、ファイルのデフォルトのコンテンツ形式を text/HTML として宣言します。 FAQ の回答は問題の前半部分を解決します (該当する行にコメントを追加する限り) が、フォーラムでは後半部分について詳しく説明するので、この問題について議論したいと思います。 まず最初に述べておきたいのは、この状況は PHP が CGI モードで実行されているときに発生する可能性が高いため、主に WIN32 プラットフォームでのエラーであると思われます。 まず、最も極端な解決策の 1 つは、すべての拡張モジュールをコメント アウトすることです。つまり、データベース、グラフィックス、MAIL などに関連する拡張モジュールの一部を PHP.ini でロードしないことを宣言します。ファイルは次のような形式です。
;Windows 拡張機能
;extension=PHP_mysql.dll
;extension=PHP_nsmail.dll
;extension=PHP_calendar.dll
;extension=PHP_dbase.dll
;拡張子=PHP_filepro.dll
;拡張子=PHP_gd.dll
;拡張子=PHP_dbm.dll
;拡張子=PHP_mssql.dll
;拡張子=PHP_zlib.dll
;拡張子=PHP_filepro.dll
;拡張子=PHP_imap4r2.dll
;拡張子=PHP_ldap.dll
;extension=PHP_crypt.dll
;拡張子=PHP_msql2.dll
;拡張子=PHP_odbc.dll
では、これらのモジュールが必要な場合はどうなるでしょうか?兄さん、私の解決策は、対応するページ、つまり dl() を動的にロードすることです。以前は、この関数の用途は何なのか疑問に思っていましたが、今は、ははは。 。 。良いアイデアがあれば、投稿してみんなと共有してください。 2 番目の解決策は、PHP の -q パラメーターを使用することです。PHP 自体によれば、これは「HTTP ヘッダーの出力を抑制する」であり、HTTP ヘッダーの出力が禁止されることを意味します。これで問題は完全に解決されますが、header() と setcookie() はいずれも役に立たなくなります。へー、PHP は基本的に廃棄されます。したがって、これは単なる汚いアプローチです。 これで、CGI モードで実行される PHP に関する上記の問題は解決できるはずです。上記の情報は、 www.faqts.comの PHP 部分と組み合わされています。この場所は、PHP/ZEND のライターや一部の PHP 書籍の著者がよく質問に答えてくれるトップ フォーラムです。 ! ! あなたのアドバイスは大歓迎です!