2017-11-18 181 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

相关问题