![www-data 用户似乎没有使用 php-curl 的权限](https://linux22.com/image/525659/www-data%20%E7%94%A8%E6%88%B7%E4%BC%BC%E4%B9%8E%E6%B2%A1%E6%9C%89%E4%BD%BF%E7%94%A8%20php-curl%20%E7%9A%84%E6%9D%83%E9%99%90.png)
我正在尝试让 drupal 的 simpletest 模块运行,它依靠 php-curl 来获取其请求。
当我以 root 用户身份执行以下操作时,它运行正常:
root@server:~# php -a
Interactive mode enabled
<?php
$ch = curl_init("http://testsite.drupal.dev/user");
$fp = fopen("example.html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
root@server:~# cat /root/example.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Blah Blah -->
</body>
</html>
root@server:~#
但是当 www-data 用户执行此操作时,却失败了:
root@server:~# su - www-data
www-data@server:~$ php5 -a
Interactive mode enabled
<?php
$ch = curl_init("http://testsite.drupal.dev/user");
$fp = fopen("example.html", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
www-data@server:~$ cat example.html
www-data@server:~$
有人见过这种情况吗?我不知道该如何修复。任何帮助我都感激不尽!:)
环境:Debian Etch / Apache2 / php5
答案1
抱歉。这不是权限问题。事实证明 www-data 用户在其 ~/.profile 和 /etc/apache2/envvars 中设置了一个旧的 http_proxy,但该设置已不存在。
我已将其注释掉,现在它可以工作了:)