exec() 失败,返回代码 11

exec() 失败,返回代码 11

我有以下 PHP 脚本可以解决我的问题:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$code = 0;
$output = array();
exec('"../vendor/bin/PdfGenie" code.rq', $output, $code);

echo $code . "\n";
print_r($output);

可执行文件PdfGenie正在读取内容code.rq并尝试在同一目录中创建 pdf 文档。

当我在浏览器中运行代码时,我得到以下信息:

11
Array
(
)

但它不会创建文件。

但是如果我 ssh 进入服务器并执行php tst.php(使用或不使用 root 权限),我会得到:

0
Array
(
)

输出文件写入得很好。此外,如果我"../vendor/bin/PdfGenie" code.rq直接从 ssh 执行相同的命令 ( ),也可以正常工作。

我怀疑 apache 可能正在使用不同的用户运行 PHP 脚本,并且尝试了所有选项这一页来获取可能的用户,但他们都给了我与我 ssh 登录时相同的用户,并且一切正常。

当 apache 执行我的 PHP 脚本时,有什么不同(或者我如何找出不同之处),导致了这个错误代码 11?

相关内容