Hello Guys我在服务器配置中是平均的。我使用php exec函数在我的网站上运行一些命令。但是如果我启用了PHP-FPM它就停止了工作。 有人知道为什么会导致这个问题吗? 下面是php函数来运行命令
$cmd="pdftk " . $pdf_to_fill . " fill_form " . $fdf_file . " output $outputfile 2>&1";
exec($cmd, $output, $return_var);
提前感谢您的帮助。
答案 0 :(得分:0)
这可以是一些事情,首先,尝试确认是否启用了exec,是否启用了安全模式,以及我们是否处于被监禁的shell中。
前两个可以使用此脚本完成,只需查看访问它时输出的内容:
if(function_exists('exec')) {
echo '<h1>exec is available.</h1>';
}
if( ini_get('safe_mode') ){
echo '<h1>Safe mode is on.</h1>';
}
监禁的shell有点难以检测,但运行var_dump(scandir('/bin/'))
会给出一个指示,如果它的文件少于从命令行运行ls -ltr /bin
的文件,那么你'在一个被监禁的外壳中。
此外,可能值得使用pdftk二进制文件的完整路径,如果它仍然不起作用,请尝试在pdftk的路径上运行is_executable
。