【问题标题】:php exec function execute php script via browser different from not via browserphp exec函数通过浏览器执行php脚本与不通过浏览器不同
【发布时间】:2014-08-20 10:33:29
【问题描述】:

我有一个名为 a.php 的 PHP 脚本,它调用 exec() 来执行 php 命令以将数据发送到另一个平台,然后从中获取数据。我找到了很多信息。我还是按照他们的方式失败了。

a.php使用curl发送数据,使用json_decode()解析来自curl_exec()函数的数据。

我的环境:

  • php 5.3.2
    • php.ini
      • safe_mode = 关闭
      • disable_functions=
  • 服务器:阿帕奇
  • 操作系统:linux

在我的 php 类中:

我使用exec("php a.php > /data0/log/log.log"),然后通过浏览器访问它,但我什么也没得到。

最后我发现我可以使用php exec来执行php脚本,因为我在我发送数据的平台中找到数据。但是 a.php 什么也没显示。我在/data0/log/log.log 中也找不到任何东西,但是如果我在linux 中使用php a.php > /data0/log/log.log,那么我可以在a.php 中找到我使用'echo,print_r'的信息,所以我认为 a.php 是正确的。

我使用exec("php -cli a.php > /data0/log/log.log &"),我在/data0/log/log.log 中有未定义的函数json_decode()

我不知道如何解决这个问题。但在我的另一台服务器上它可以成功执行。我只使用exec("php a.php")

谢谢
面包车

【问题讨论】:

    标签: php exec


    【解决方案1】:

    我已经解决了这个问题。 细节是php在linux中有两个版本。 所以我只分配了php的路径。

    【讨论】:

      猜你喜欢
      • 2012-12-26
      • 2010-10-07
      • 2013-11-24
      • 2011-07-15
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多