3

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?

Jaykumar Patel
  • 26,836
  • 12
  • 74
  • 76
user2739179
  • 271
  • 1
  • 2
  • 10

3 Answers3

18

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

user2739179
  • 271
  • 1
  • 2
  • 10
5

I had the same problem, as suggested above, the following worked for me on Centos 7

setsebool -P httpd_can_network_connect on
SheppardDigital
  • 3,165
  • 8
  • 44
  • 74
1

I had the same problem on a self-configured CentOS6 host with LAMP + Wordpress. The Wordpress wp_remote_get() function did not return results (and didn't return an error) nor did PHP file_get_contents(). Executing this on the host solved the issue.

setsebool -P httpd_can_network_connect on