2011-08-05 10 views
0

私は、ユーザー入力を受け取り、ユーザーのためにpdfファイル(reportlabを使用)を出力するいくつかのページ(1つのHTML、1つのPHP、および1つのpythonスクリプト) 。私がApache(localhost)でテストすると、完全に動作します。 しかし、実際のWebホストでオンラインでは動作していません。 Webサーバー上のPHPのバージョンは5.2.17で、Pythonがインストールされています。PHP - > pythonがWebサーバー上で動作しないようです

バージョンが問題になることはありますか?私は経験が足りないし、Apacheでは完全に動作し、インターネット上では全く動作しないため、非常に失われています。

最後の事、私はPHPからPythonの関数を呼び出すために使用するコマンドはこれです:

$ed = exec("python pdfgeneration2.py $name $age"); 

また、私は多分これのためのより良いコマンドがあると思いましたか?

私の質問はあいまいで不明瞭かもしれませんが、誰かが何らかのアイデアを持っていれば、大変感謝しています。

+4

私はhttp://php.net/manual/en/function.popen.phpまたはHTTPのような、少しより堅牢なものに切り替えることで起動します: //php.net/manual/en/function.proc-open.phpを読んだり、コマンドに書き込んだりするか、単に出力を読む必要があるかによって異なります。さらに、私の最初の疑惑は、pythonバイナリがあなたのウェブサーバのユーザのパスにないことです。 '/ full/path/to/python pdfgeneration2.py $ name $ age'のようなフルパスを追加してみてください。 – sberry

+0

ありがとうございます!私はこれらの提案をすべて試してみましょう! –

答えて

0
  1. /var/logs/httpd/error_log、またはディストリビューションのApacheのログがどこに保存されているかを確認してください。 PHPからのエラーメッセージが表示されます。

  2. sberry推奨のパスチェックに加えて、ダブルチェックパーマもあります。 ApacheはPythonスクリプトに実行権限を必要とします:chown apache:apache pdfgeneration2.py

関連する問題