2017-11-18 219 views
0

你好男士我平均在服務器configuration.I使用php exec功能來運行我的網站中的一些命令。但它停止工作,如果我啓用PHP-FPM 。 有人知道它爲什麼會導致這個問題? 下面是運行命令的php函數爲什麼php exec,系統和passthrough功能停止工作,如果FPM啓用

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

在此先感謝您的幫助。

回答

0

這可能是一些事情,首先,嘗試確認是否啓用了exec,如果啓用了安全模式,以及我們是否在被監禁的外殼中。

前兩個可以使用此腳本來完成,只看到當你訪問它輸出:

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/'))會給出指示,如果它比在命令行下運行ls -ltr /bin的文件少得多,那麼你就在一個監獄的外殼中。

此外,它可能值得使用pdftk二進制文件的完整路徑,如果它仍然不起作用,請嘗試在pdftk的路徑上運行is_executable

相關問題