php 中的 exec 不起作用

php 中的 exec 不起作用

我在树莓派 3 上运行带有 php 7.0 的 apache。当我在命令行上使用curl 命令时,它工作得很好。

但是当我在 PHP 代码中使用这个命令时,它什么也没做。知道这可能是什么吗?

我得到一个资源 id #5。我不知道这是什么......

尝试了以下操作:

  • 在命令末尾添加 2>&1
  • 运行前面带有 sudo 的命令
  • 更改 www-data 的权限(不确定这是否是运行 apache 的用户)

答案1

在 PHP 中,任何资源 id # 都指某种文件句柄,无论是物理的还是其他的。通常在获得可爱的数据之前,句柄上会进行某种读取操作。 cURL 和 PHP 通常看起来类似于以下内容(摘自文档

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HEADER, TRUE); 
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
$data = curl_exec($ch); 
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
curl_close($ch);

相关内容