Bagaimana untuk menyelesaikan masalah kod ralat php curl 7

藏色散人
Lepaskan: 2023-03-12 13:26:01
asal
6771 orang telah melayarinya

Penyelesaian kepada kod ralat PHP curl 7: 1. Buka fail konfigurasi dalam direktori selinux 2. Cari baris "SELINUX=enforcing" dalam fail konfigurasi; ., mulakan semula pelayan.

Bagaimana untuk menyelesaikan masalah kod ralat php curl 7

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara menyelesaikan php curl soalan kod ralat 7? Bagaimana untuk menyelesaikan ralat CURL (7): Tidak dapat menyambung ke hos?

1. Penerangan masalah

Apabila memanggil antara muka pihak ketiga, semuanya ok apabila membuat panggilan secara setempat, tetapi gagal apabila membuat panggilan dalam talian!

Apabila antara muka pihak ketiga dipanggil secara setempat melalui kaedah curLRequest(), kaedah curl_errno() mengembalikan hasil 0, menunjukkan bahawa panggilan itu berjaya dan kaedah curl_errno() dalam talian mengembalikan hasil 7 , panggilan gagal.

Persekitaran:

Local wamp, dalam talian lnmp

Untuk menghapuskan masalah alam sekitar, cmd pada pelayan melaksanakan fungsi curl untuk membuat permintaan pos kepada pihak ketiga antara muka dan mendapati bahawa panggilan itu berjaya! Panggil skrip seperti berikut:

curl -i -X POST -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf-8' -H 'Authorization:**********************=' -d '{"voipAccount":"*********"}' 第三方接口的URL
Salin selepas log masuk

Panggil kod utama antara muka pihak ketiga:

  /**
     * @param $requestUrl | String 请求的地址
     * @param bool $https
     * @param $headerInfo | array 头文件信息
     * @param string $rquestMethod | String 请求类型
     * @param $requestData | json 发送请求的数据
     * @return mixed     */
    public function curLRequest($requestUrl,$requestData,$https=true,$rquestMethod='post')
    {        $headerInfo=[            'Accept:application/json',
            'Content-Type:application/json;charset=utf-8',
            'Authorization:'.self::$auth
        ];        $ch = curl_init();//初始化
        curl_setopt($ch, CURLOPT_URL, $requestUrl);//设置访问的URL
        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headerInfo); // 设置头信息
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);//只获取页面内容,但不输出
        if($https){
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//不做服务器认证
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//不做客户端认证        }        if($rquestMethod == 'post'){
            curl_setopt($ch, CURLOPT_POST, true);//设置请求是POST方式
            curl_setopt($ch, CURLOPT_POSTFIELDS, $requestData);//设置POST请求的数据        }        $str = curl_exec($ch);//执行访问,返回结果
        if(curl_errno($ch)){            Log::write('结果=========================================================:'.curl_errno($ch));            return ['statuscode' => -1, 'data' => 'curl请求错误,错误码为'.curl_errno($ch)];
        }        Log::write('结果=========================================================:'.curl_errno($ch));        Log::write('返回结果:'.$str);
        curl_close($ch);//关闭curl,释放资源
        return json_decode($str,true);
    }
Salin selepas log masuk

Selepas pelbagai penyiasatan, kod itu betul berkaitan dengan masalah konfigurasi dalam talian.

2. Penyelesaian

Buka fail konfigurasi dalam direktori selinux  

nano /etc/selinux/config
Salin selepas log masuk

Cari SELINUX=garis penguatkuasaan dalam fail konfigurasi

Tukar SELINUX=disabled

Simpan, keluar, mulakan semula pelayan

Ringkasan

Ralat CURL 7 Gagal menyambung ke ralat "Kebenaran Ditolak" disebabkan apabila permintaan CURL disekat oleh beberapa tembok api atau sesuatu yang serupa

Apabila permintaan curl tidak sepadan dengan port standard, Anda akan menghadapi masalah ini

Contohnya jika anda melakukan curl pada port 1234 maka anda akan menghadapi masalah ini kerana URL untuk port 80 akan memberikan anda hasil yang sangat mudah.

Lazimnya ralat ini telah dilihat pada CentOS dan sistem pengendalian lain dengan 'selinux'

Anda perlu melumpuhkannya Atau menukar 'selinux' untuk membenarkan

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah kod ralat php curl 7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!