1

我有一个 bash 脚本:

运行.sh

#!/bin/sh
cd /var/www/project/bin/ 
CMD="./executable <full_path_to_file>;
$CMD

当我从终端运行这个程序时。(即./run.sh,它工作正常)

但是,当我从 PHP 调用它时:

system("full_path_to_sh_file", $out);

它成功调用了脚本,甚至运行了可执行文件,但现在可执行文件抛出一个错误,指出找不到提供的文件。

有任何想法吗?

4

1 回答 1

1
  1. 您如何从网络服务器或命令行运行 PHP 脚本?
  2. 如果来自网络服务器,它运行的是什么用户(httpd 或 apache?)
  3. 确保环境与从终端运行时相同(例如:同一用户)
  4. 如果以其他用户身份运行,请尝试此操作: sudo -u apache /fullpath/run.sh
于 2012-05-02T03:48:32.073 回答