Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
885 views
in Technique[技术] by (71.8m points)

php - failed to open stream: Permission denied file_get_contents which generates XML FILE

I am trying to generating an XML file, but error come in this file_get_contents() PHP function, this is my code:

 function mobile_login1($P1, $P2)
{
    $url = 'myURL';
    $data = array(
        'username' => $P1,
        'password' => $P2);

    // use key 'http' even if you send the request to https://...
    $options = array(
        'http' => array(
            'header'  => "Content-type: application/x-www-form-urlencoded",
            'method'  => 'POST',
            'content' => http_build_query($data),
        ),
    );
    $context  = stream_context_create($options);
    $json_data = file_get_contents($url, false, $context);


            $decode = json_decode($json_data);

            //print_r ($decode[0]);
            //

            foreach($decode as $row)
            {
                $data[] = array("Message" => $row->msg);


            }


            //print_r ($data[0]['Message']);

            $msg = $data[0]['Message'];

            if ($msg == 'Incorrect username/password')
            {


                 $this->response['ResponseCode'] = "1000";
                 $this->response['ResponseMessage'] = $msg;
                 $this->response['ResponseData'] = $data;
            }

            else
            {
                if($decode != null)
                {
                    foreach($decode as $row)
                    {
                        $data[] = array("AccountId" => $row->a_id,
                                        "PersonalId" => $row->p_id,
                                        "FullName" => $row->full_name,
                                        "AccountName" => $row->a_name,
                                        "AccountType" => $row->a_type,
                                        "WalletBalance" => $row->wallet_balance,
                                        "PersonalAddress" => $row->p_add,
                                        "CompanyName" => $row->company_name,
                                        "CompanyAddress" => $row->company_add,
                                        "Fax" => $row->fax,  
                                        "PersonalMobile" => $row->p_mobile,
                                        "PersonalTelephone" => $row->p_tel,
                                        "Limit" => $row->limit,
                                        "Role" => $row->role,
                                        "AccountMobile" => $row->a_telno);
                    }


                    $this->response['ResponseCode'] = "0000";
                    $this->response['ResponseMessage'] = "successful";
                    $this->response['ResponseData'] = $data;
                }
                else
                {
                    $this->response['ResponseCode'] = "1000";
                    $this->response['ResponseMessage'] = "no records found";
                }   
            }
           //return $json_data;


    }

when i try to call my URL error come is the Line Number 187 is the code where my file_get_contents() function.

A PHP Error was encountered Severity: Warning Message: 
file_get_contents(http://myURL/mobile_login): failed to open stream: Permission denied 
Filename: models/accounts_model.php Line Number: 187

Is this server fault or PHP error?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

it turns out it was a problem with on my server:

I ran this line from the terminal to reslove it

setsebool -P httpd_can_network_connect on

thanks for the suggestion guys


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...