PHP shell_exec()不会解析另一个目录中的PHP文件

PHP shell_exec()不会解析另一个目录中的PHP文件,php,shell,exec,shell-exec,Php,Shell,Exec,Shell Exec,我遇到了一个问题,并且已经测试了各种解决方案,但是没有一个能正常工作。 我在地址/public\u html/cronjobs文件夹的rest\u中有一个名为kcsbtc.php的文件,我想在其中运行一个shell\u exec,该shell\u exec将运行另一个名为biki.php的php文件,该文件嵌套在地址/public\u html/exchanges的rest\u中,如下所示: try { $path = realpath("../exchanges/biki.

我遇到了一个问题,并且已经测试了各种解决方案,但是没有一个能正常工作。 我在地址/public\u html/cronjobs文件夹的rest\u中有一个名为kcsbtc.php的文件,我想在其中运行一个shell\u exec,该shell\u exec将运行另一个名为biki.php的php文件,该文件嵌套在地址/public\u html/exchanges的rest\u中,如下所示:

try {
          $path = realpath("../exchanges/biki.php");
          echo shell_exec("php -f $path");

}
      catch (Exception $e){
          echo "There seems to be an error on $exchange";
}
但是,如果我将biki.php移到cronjobs并使用其中任何一个,它都不会起作用 $path='biki.php'或$path=realpathbiki.php在这两种情况下,它都可以工作并获得所需的输出。 我想可能是与php处理程序或shell访问其他文件夹的权限有关,仍然无法找到答案,有什么想法吗

提前谢谢

以下是完整的代码:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL | E_STRICT);

   $path = realpath('../exchanges/Functions.php');
   include_once $path;
   $path = realpath('../exchanges/tick_updater.php');
   include_once $path;

   $servername = "localhost";
   $username = "**********";
   $password = "**********";
   $dbname = "***********";
   $table = "kcsbtcticks";

   // Create connection
   $conn = new mysqli($servername, $username, $password, $dbname);
   // Check connection
   if ($conn->connect_error) {
       die("Connection failed: " . $conn->connect_error);
   }

   $sql = "SELECT exchange, pair FROM `".$table."`";
   $result = $conn->query($sql);
   $conn->close();

   $exchanges = array();
   $pairs = array();
      if ($result->num_rows > 0) {
       // output data of each row
         while ( $row = $result->fetch_array(MYSQLI_NUM)) {
           $exchanges[] = $row[0] ;
           $pairs[] = explode("/",$row[1]);    
         }
       }
   $i = 0;

   foreach ($exchanges as $exchange){
      $base = $pairs[$i][0];
      $quote = $pairs[$i][1];
      $path = realpath("../exchanges/".$exchange.".php");
      include_once $path;
      try {
          echo $path;
          echo shell_exec("php -f $path 2>&1");

      }
      catch (Exception $e){
          echo "There seems to be an error on $exchange";
      }
      echo "<br /><br />";
      $i++;
   } 

还想提到的是,我尝试过exec、system、PASSTRU和all导致相同的情况。谢谢,我以前看过该页面,但是如果我只将biki.php移动到kcsbtc.php的同一文件夹中,代码就没有问题。在其他目录中,它不会给出权限被拒绝或任何东西?除非代码是绝密的,@JamesMcAlbert你能发布完整的来源吗?谢谢这可能是XY问题。@user3783243当biki.php文件位于主代码的同一目录中时,没有问题。我得到我想要的输出。然而,在另一个地方什么也没发生。