Я пытаюсь создать файл XML, но ошибка в этой функции file_get_contents()
PHP, это мой код:
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; }
когда я пытаюсь вызвать мою ошибку URL-адреса, это номер строки 187
– это код, где моя функция file_get_contents () .
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
Это ошибка сервера или ошибка PHP?
оказалось, что это проблема на моем сервере:
Я запустил эту строку с терминала, чтобы ее перенести
setsebool -P httpd_can_network_connect on
спасибо за предложение парня
У меня была такая же проблема, как было предложено выше, для меня работали на Centos 7
setsebool -P httpd_can_network_connect on
У меня была та же проблема на самонастраиваемом хосте CentOS6 с LAMP + WordPress. Функция WordPress wp_remote_get () не возвращала результаты (и не возвращала ошибку), а также PHP file_get_contents (). Выполнение этого на хосте решило проблему.
setsebool -P httpd_can_network_connect on