php exec函数通过浏览器执行php脚本,而不是通过浏览器

时间:2014-06-30 05:47:32

标签: php exec

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

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

我的环境:

  • php 5.3.2
    • 的php.ini
      • safe_mode =关
      • disable_functions选项=
  • 服务器:apache
  • os: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中找到我使用“echoprint_r”的信息。 php ,所以我认为 a.php 是正确的。

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

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

谢谢你 范

1 个答案:

答案 0 :(得分:0)

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