找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 39|回复: 6

安卓chroot的Apache用户组无网络权限,致使 curl() 不能联网

[复制链接]

14

主题

62

回帖

286

积分

中级会员

积分
286
发表于 2020-2-6 21:55:29 | 显示全部楼层 |阅读模式
本帖最后由 yisuo 于 2020-2-6 23:28 编辑

WEB 环境 UBUNTU + APACHE2 +php

[ol]
  • apt install -y apache2 php libapache2-mod-php php-curl php-mbstring php-gd
  • a2enmod php
  • apachectl -k start
  • [/ol]复制代码

    在 root  用户下使用 php -f /home/www/html/test/c.php 一切正常

    而在 浏览器中用 http://localhost/test/c.php 访问,表现为php的CURL 不能获取任何网络资源

    DNS也没有问题
    [ol]
  • cat /etc/resolv.conf
  • chmod 644 /etc/resolv.conf
  • [/ol]复制代码

    下面这是测试代码 c.php

    [ol]
  • ';
  • echo "=========file_get_contents()=========
    ";
  • echo file_get_contents('http://localhost');
  • echo "=========gethostbyname()=========
    \r\n";
  • var_dump([gethostbyname('**'),]);
  • echo "=========curl()=========
    \r\n";
  • $ch = curl_init();
  • curl_setopt($ch, CURLOPT_URL,"http://www.baidu.com" );
  • curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, true );
  • if(curl_exec($ch) === false){
  •     echo 'Curl error: ' . curl_error($ch);
  • }else{
  •     echo "It's all done";
  • }
  • echo "
    \r\n==================

    \r\n";
  • [/ol]复制代码
  • 回复

    使用道具 举报

    12

    主题

    238

    回帖

    1098

    积分

    金牌会员

    积分
    1098
    发表于 2020-2-6 21:58:18 | 显示全部楼层
    确认下 在 cli和http是不是一个版本

    回复

    使用道具 举报

    14

    主题

    62

    回帖

    286

    积分

    中级会员

    积分
    286
     楼主| 发表于 2020-2-6 22:18:39 | 显示全部楼层
    /usr/bin/php -v 显示 PHP 7.2.3-1ubuntu1 (cli)

    http中使用phpinfo()查看到 PHP Version 7.2.3-1ubuntu1
    回复

    使用道具 举报

    14

    主题

    62

    回帖

    286

    积分

    中级会员

    积分
    286
     楼主| 发表于 2020-2-6 22:20:20 | 显示全部楼层

    大腿 发表于 2020-2-6 21:58

    确认下 在 cli和http是不是一个版本

    应该是同一个版本呢,
    回复

    使用道具 举报

    6

    主题

    292

    回帖

    778

    积分

    高级会员

    积分
    778
    发表于 2020-2-6 21:58:00 | 显示全部楼层
    报错呢?截图呢?
    回复

    使用道具 举报

    14

    主题

    62

    回帖

    286

    积分

    中级会员

    积分
    286
     楼主| 发表于 2020-2-6 22:39:52 | 显示全部楼层

    逸笙 发表于 2020-2-6 22:39

    报错呢?截图呢?
    [ol]
  • Could not resolve host: www.baidu.com; [/ol]复制代码

    报错就是这个,提示DNS解析错误,实际是当前用户没有网路权限
  • 回复

    使用道具 举报

    14

    主题

    62

    回帖

    286

    积分

    中级会员

    积分
    286
     楼主| 发表于 2020-2-6 23:10:05 | 显示全部楼层
    这个问题折腾了几个小时,真搞不明白apache的 www-data 用户没有网络权限,反复测试不得不认为这个用户组没有网络权限!!

    于是我更换apache的用户 www-data  为 daemon,问题解决了。

    这篇文章很有用, https://www.jianshu.com/p/f5e107180b45

    [ol]
  • usermod -a -G aid_inet www-data[/ol]复制代码
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-6-3 18:36 , Processed in 0.061536 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表