我正在尝试通过 PHP 运行以下命令:
$output = shell_exec('sudo /Users/Derk/Code/automation/psc/pdfs.sh 1');
这将运行以下 bash 脚本代码:
sudo /usr/local/bin/pdftk cvcheck_template.pdf fill_form data.fdf output output.pdf flatten
sudo /usr/local/bin/convert -density 150 -gravity south -geometry +0+150 -composite output.pdf signature.png new_output.pdf
bash 脚本在命令行中运行完美,但当我尝试通过 Web 服务器 (MAMP) 上的 PHP 运行它时,它没有给出任何输出。第一个命令似乎有效,但第二个命令没有给出任何输出。
任何帮助将非常感激。
答案1
最终归结为权限问题。通过 Web 浏览器运行 Python 脚本所接触的单个文件需要在 www-data 组中具有写入权限。
我的错误是他们有读取和执行权限,但没有写入权限。因此,一旦我修改了相应文件的权限,一切就都正常了。
我还曾经sudo -u www-data command
测试过 PHP 文件,而不必通过浏览器进行测试。这使得测试速度快了很多。