2017-11-18 7 views
0

こんにちは私はサーバ設定で平均です。PHP-FPMを有効にすると、私のwebsite.Butでいくつかのコマンドを実行するphp exec関数を使用しています。 この問題の原因は誰でも知っていますか?以下 は、コマンドあなたの助けを事前にFPMが有効な場合、php exec、system、およびpassthrough関数が機能しなくなった理由

$cmd="pdftk " . $pdf_to_fill . " fill_form " . $fdf_file . " output $outputfile 2>&1"; 
exec($cmd, $output, $return_var); 

感謝を実行するためにPHPの関数です。

答えて

0

これは、まずexecが有効かどうか、セーフモードが有効になっているか、jailシェルであるかどうかを確認してみてください。

if(function_exists('exec')) { 
    echo '<h1>exec is available.</h1>'; 
} 
if(ini_get('safe_mode')){ 
    echo '<h1>Safe mode is on.</h1>'; 
} 

投獄シェルの検出が少し難しいですが、var_dump(scandir('/bin/'))を実行している場合、指示を与えるだろう。

最初の2本のスクリプトで行うことができます、それはあなたがそれにアクセスしたときに出力かを見ますそれはコマンドラインから実行した場合よりもはるかに少ないファイルを持っているので、あなたは拘束されたシェルに入っています。

また、pdftkバイナリのフルパスを使用する価値があります。まだ動作しない場合は、pdftkのパスでis_executableを実行してみてください。

関連する問題