我正在尝试使用 open office 运行命令行文件转换。
openoffice pdf filename.doc 2>&1
当我以root身份在命令行中执行时,它工作正常并且文件被转换。但是,当我以 apache 用户的身份在 PHP 文件中传递上述命令时,它不会执行。
我尝试了所有三个 PHP 命令行执行:
$command_output=system($command_line,$rtnval);
$command_output=exec($command_line,$rtnval);
$command_output=passthru($command_line,$rtnval);
还,
echo print_r($rtnval);
echo print_r($command_output);
$rtnval
返回 1 和$command_output
1。我很困惑,无法知道 linux (centos) 对上述命令的响应是什么。非常沮丧,因为当我尝试执行命令时无法知道系统响应。
我还包括/etc/suders
允许 apache 运行 open office 命令。
apache ALL: (ALL) NOPASSWD: /path/to/openoffice
该命令仍然没有以 apache 用户身份在 PHP 中执行。
作为 apache 用户,我缺少什么让 PHP 不执行这个命令?