How to solve the problem of php curl error code 7
Solution to php curl error code 7: 1. Open the config file in the selinux directory; 2. Find the "SELINUX=enforcing" line in the config file; 3. Change "SELINUX=disabled"; 4. , restart the server.

The operating environment of this article: Windows7 system, PHP7.1 version, DELL G3 computer
How to solve php curl error code 7 question? How to resolve CURL error (7): Unable to connect to host?
1. Problem description
When calling the third-party interface, everything is ok when calling locally, but the online call fails!
When the third-party interface is called locally through the curLRequest() method, the curl_errno() method returns a result of 0, indicating that the call is successful, and the online curl_errno() method returns a result of 7 , the call failed.
Environment:
Local wamp, online lnmp
In order to eliminate environmental problems, I executed the curl function on the server cmd to make a post request to the third-party interface and found that the call was successful. ! Call the script as follows:
curl -i -X POST -H 'Accept:application/json' -H 'Content-Type:application/json;charset=utf-8' -H 'Authorization:**********************=' -d '{"voipAccount":"*********"}' 第三方接口的URLCall the key code of the third-party interface:
/**
* @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);
}After various investigations, the code is correct. My problem is related to the configuration of the online environment.
2. Solution
①Open the config file in the selinux directory
nano /etc/selinux/config
②Find the SELINUX=enforcing line in the config file
③Change SELINUX=disabled
④Save, exit, restart the server
3. Summary
CURL Error 7 "Failed to connect to Permission Denied" error is caused when the CURL request is blocked by some firewall or something similar.
When the curl request does not match the standard port, you will Facing this problem.
For example if you do curl on port 1234 then you will face this problem because the URL for port 80 will give you very easy results.
Most commonly this error has been seen on CentOS and other operating systems with 'selinux'.
You need to disable or 'selinux' is changed to allow
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of How to solve the problem of php curl error code 7. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
Undresser.AI Undress
AI-powered app for creating realistic nude photos
AI Clothes Remover
Online AI tool for removing clothes from photos.
Clothoff.io
AI clothes remover
Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!
Hot Article
Hot Tools
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
How to execute an UPDATE query in php
Aug 24, 2025 am 05:04 AM
Using MySQLi object-oriented method: establish a connection, preprocess UPDATE statements, bind parameters, execute and check the results, and finally close the resource. 2. Using MySQLi procedure method: connect to the database through functions, prepare statements, bind parameters, perform updates, and close the connection after processing errors. 3. Use PDO: Connect to the database through PDO, set exception mode, pre-process SQL, bind parameters, perform updates, use try-catch to handle exceptions, and finally release resources. Always use preprocessing statements to prevent SQL injection, verify user input, and close connections in time.
How to use cURL in php
Aug 24, 2025 am 08:32 AM
cURLinPHPenablessendingHTTPrequests,fetchingAPIdata,anduploadingfiles.Initializewithcurl_init(),setoptionslikeCURLOPT_URLandCURLOPT_RETURNTRANSFER,useCURLOPT_POSTforPOSTrequests,sendJSONwithproperheaders,handleerrorsviacurl_errno()andHTTPcodeswithcur
How to read a CSV file in PHP?
Aug 29, 2025 am 08:06 AM
ToreadaCSVfileinPHP,usefopen()toopenthefile,fgetcsv()inalooptoreadeachrowasanarray,andfclose()tocloseit;handleheaderswithaseparatefgetcsv()callandspecifydelimitersasneeded,ensuringproperfilepathsandUTF-8encodingforspecialcharacters.
How to use AJAX with php
Aug 29, 2025 am 08:58 AM
AJAXwithPHPenablesdynamicwebappsbysendingasynchronousrequestswithoutpagereloads.1.CreateHTMLwithJavaScriptusingfetch()tosenddata.2.BuildaPHPscripttoprocessPOSTdataandreturnresponses.3.UseJSONforcomplexdatahandling.4.Alwayssanitizeinputsanddebugviabro
Edit bookmarks in chrome
Aug 27, 2025 am 12:03 AM
Chrome bookmark editing is simple and practical. Users can enter the bookmark manager through the shortcut keys Ctrl Shift O (Windows) or Cmd Shift O (Mac), or enter through the browser menu; 1. When editing a single bookmark, right-click to select "Edit", modify the title or URL and click "Finish" to save; 2. When organizing bookmarks in batches, you can hold Ctrl (or Cmd) to multiple-choice bookmarks in the bookmark manager, right-click to select "Move to" or "Copy to" the target folder; 3. When exporting and importing bookmarks, click the "Solve" button to select "Export Bookmark" to save as HTML file, and then restore it through the "Import Bookmark" function if necessary.
What is the difference between isset and empty in php
Aug 27, 2025 am 08:38 AM
isset()checksifavariableexistsandisnotnull,returningtrueevenforzero,false,oremptystringvalues;2.empty()checksifavariableisnull,false,0,"0","",orundefined,returningtrueforthese"falsy"values;3.isset()returnsfalsefornon-exi
How to configure SMTP for sending mail in php
Aug 27, 2025 am 08:08 AM
Answer: Using the PHPMailer library to configure the SMTP server can enable sending mails through SMTP in PHP applications. PHPMailer needs to be installed, set up SMTP host, port, encryption method and authentication credentials of Gmail, write code to set sender, recipient, topic and content, enable 2FA and use application password to ensure that the server allows SMTP connection, and finally call the send method to send email.
How to get the current date and time in PHP?
Aug 31, 2025 am 01:36 AM
Usedate('Y-m-dH:i:s')withdate_default_timezone_set()togetcurrentdateandtimeinPHP,ensuringaccurateresultsbysettingthedesiredtimezonelike'America/New_York'beforecallingdate().


