【发布时间】: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=
- php.ini
- 服务器:阿帕奇
- 操作系统: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")。
谢谢
面包车
【问题讨论】: