私のcppファイルでは、いくつかのデバッグメッセージをstd::cout標準出力ストリームに出力しています。このファイルを使用し、Apacheサーバーを使用して実行可能ファイルを実行する場合。デバッグメッセージはどこに出力されますか。/ var / lib / httpd/error_logに出力されていません。
前もって感謝します。
C++ プログラムを実行するために Apache Web サーバーを使用する必要がある唯一の理由は、CGI スクリプトを作成する場合です。
確認してください: http://en.wikipedia.org/wiki/Common_Gateway_Interface
ここでのプロセスは、Web サーバーである Apache がプログラムを実行し、出力 (std::cout) をページ ソースとして使用することです。
ページ ソースは、html またはプレーン テキストのいずれかです。唯一の問題は、サーバーが認識していないことです。そのため、出力の最初にちょっとしたヒントをサーバーに提供します。ヘッダーといいます。
html を出力する場合は、以下を印刷する必要があります。
コンテンツタイプ: text/html
2 つの改行が続きます。
または、Web サーバーにデータをプレーンテキストとして解釈させたい場合は、最初に印刷する必要があります。
コンテンツ タイプ: テキスト/プレーン
また、 2 つの改行が続きます。
たとえば、動作するはずの C++ プログラムは次のようになります。
#include <iostream>
int main()
{
//output header, then one newline, then another, paired with a flush.
std::cout << "Content-type: text/plain\n" << std::endl;
//now your output
//calculation...
std::cout << "Hello World" << std::endl;
return 0;
}
いくつかの事前設定された環境変数を使用して、任意の Web サーバー パラメーターを照会できます。私がリンクしたウィキペディアの記事を読んでください。
編集:
申し訳ありませんが、Content-type: text/html
とContent-type: text/plain
は正しかったのですが、以前、新しい行が必要だと言いました。私は間違っていました.2つの新しい行が必要です.
この投稿を初めて見る場合でも、心配する必要はありません。