0

ここがハードコアの問題です。

C++ で書かれたコードがあります。コードは Web サイトの一部であり、Apache 上で実行され、PHP を使用して構築されています。ユーザーが何らかのデータを送信するたびに、コードはそれらのデータを処理します。ただし、コードは、Web インターフェイスを介して呼び出されると、常にコアダンプ エラー (シグナル 11) をスローします。自分のユーザー名のシェルではまったく問題なく動作します。また、ユーザーwww-dataとして実行しようとしましたが、うまく機能します。

だから私の質問は、Webインターフェイスから呼び出されたときに実行されないのはなぜですか?それを修正する方法は?

OSはUbuntu Server 12.04 x64です。

大変感謝します。

4

1 に答える 1

0

valgrind の助けを借りて、ようやく謎が解けました。問題は、getenv("USER") を使用して "$USER" を読み取ろうとするヘッダー ファイルの行にあります。env パラメーターはローカル シェルで設定されていますが、コードが Web インターフェイスを介して呼び出されると設定が解除されます。しかし、なぜそれが設定されていないのか分かりません。env パラメータをエクスポートした後は、すべて問題ありません。

これがいつか誰かを助けることを願っています。

于 2013-08-15T11:39:24.180 に答える