是不是solaris 的问题我不知道,不过你还是先确认是否是防火墙把对外80端口封掉了呢?

解决方案 »

  1.   

    php信息地址
    http://chinapet.w3cos.com/php.php
      

  2.   

    如果 PHP 认为 filename 指定的是一个已注册的协议,而该协议被注册为一个网络 URL,PHP 将检查并确认 allow_url_fopen 已被激活。如果关闭了,PHP 将发出一个警告,而 fopen 的调用则失败。
      

  3.   

    allow_url_fopen已经是激活的
    http://chinapet.w3cos.com/php.php
      

  4.   

    顺便一问,为啥不用fsockopen?
      

  5.   

    fsockopen也不行http://chinapet.w3cos.com/t2.php<?php
    function open_page($url,$f=1,$c=2,$r=0,$a=0,$cf=0,$pd=""){
     global $oldheader;
     $url = str_replace("http://","",$url);
     if (preg_match("#/#","$url")){
      $page = $url;
      $url = @explode("/",$url);
      $url = $url[0];
      $page = str_replace($url,"",$page);
      if (!$page || $page == ""){
       $page = "/";
      }
      $ip = gethostbyname($url);
     }else{
      $ip = gethostbyname($url);
      $page = "/";
     }
     $open = fsockopen($ip, 80, $errno, $errstr, 60);
     if ($pd){
      $send = "POST $page HTTP/1.0\r\n";
     }else{
      $send = "GET $page HTTP/1.0\r\n";
     }
     $send .= "Host: $url\r\n";
     if ($r){
      $send .= "Referer: $r\r\n";
     }else{
      if ($_SERVER['HTTP_REFERER']){
       $send .= "Referer: {$_SERVER['HTTP_REFERER']}\r\n";
      }
     }
     if ($cf){
      if (@file_exists($cf)){
       $cookie = urldecode(@file_get_contents($cf));
       if ($cookie){
        $send .= "Cookie: $cookie\r\n";
        $add = @fopen($cf,'w');
        fwrite($add,"");
        fclose($add);
       }
      }
     }
     $send .= "Accept-Language: en-us, en;q=0.50\r\n";
     if ($a){
      $send .= "User-Agent: $a\r\n";
     }else{
      $send .= "User-Agent: {$_SERVER['HTTP_USER_AGENT']}\r\n";
     }
     if ($pd){
      $send .= "Content-Type: application/x-www-form-urlencoded\r\n";  
      $send .= "Content-Length: " .strlen($pd) ."\r\n\r\n";
      $send .= $pd;
     }else{
      $send .= "Connection: Close\r\n\r\n";
     }
     fputs($open, $send);
     while (!feof($open)) {
      $return .= fgets($open, 4096);
     }
     fclose($open);
     $return = @explode("\r\n\r\n",$return,2);
     $header = $return[0];
     if ($cf){
      if (preg_match("/Set\-Cookie\: /i","$header")){
       $cookie = @explode("Set-Cookie: ",$header,2);
       $cookie = $cookie[1];
       $cookie = explode("\r",$cookie);
       $cookie = $cookie[0];
       $cookie = str_replace("path=/","",$cookie[0]);
       $add = @fopen($cf,'a');
       fwrite($add,$cookie,strlen($read));
       fclose($add);
      }
     }
     if ($oldheader){
      $header = "$oldheader<br /><br />\n$header";
     }
     $header = str_replace("\n","<br />",$header);
     if ($return[1]){
      $body = $return[1];
     }else{
      $body = "";
     }
     if ($c === 2){
      if ($body){
       $return = $body;
      }else{
       $return = $header;
      }
     }
     if ($c === 1){
      $return = $header;
     }
     if ($c === 3){
      $return = "$header$body";
     }
     if ($f){
      if (preg_match("/Location\:/","$header")){
       $url = @explode("Location: ",$header);
       $url = $url[1];
       $url = @explode("\r",$url);
       $url = $url[0];
       $oldheader = str_replace("\r\n\r\n","",$header);
       $l = "&#76&#111&#99&#97&#116&#105&#111&#110&#58";
       $oldheader = str_replace("Location:",$l,$oldheader);
       return open_page($url,$f,$c,$r,$a,$cf,$pd);
      }else{
       return $return;
      }
     }else{
      return $return;
     }
    }
    /////////////
    ////Usage////
    /////////////
    $url = "http://www.php.net";
    $f = 1;
    $c = 2;//1 for header, 2 for body, 3 for both
    $r = NULL;
    $a = NULL;
    $cf = NULL;
    $pd = NULL;
    $page = open_page($url,$f,$c,$r,$a,$cf,$pd);
    print $page;
    ?> 
      

  6.   

    问题终极解决方案安装CSKphplibsbundle
    下载地址
    http://cooltools.sunsource.net/coolstack/
    在Downloads下面选择你安装的Cool Stack版本进入下载目录
    需要注册成为sun的会员才能下载安装完成后修改 php.ini
    加载模块
    extension="curl.so"重启apache
    问题即可解决