아주 오랫동안 아무 것도 쓰지 않았습니다. PHP, 그래서 나는 장엄한 것에 대한 작은 일련의 기사를 쓰기로 결정했습니다. PHP 모듈 - cURL. 하지만 사용하기 전에, cURL은 Denwer에 설치해야 합니다., 이 패키지의 기본 버전에서 곱슬 곱슬하다제외된.

진행하기 전에 Denwer에 cURL 설치, 다음을 제공하는 가능성에 대해 간단히 이야기해 보겠습니다. 이 모듈. 곱슬 곱슬하다서버에서 사용자 작업을 시뮬레이션하는 편리한 방법입니다. 실제로 특정 요청에 대한 서버의 응답을 확인할 수 있습니다. 예를 들어 다음을 보낼 수 있습니다. POST 요청서버가 제공하는 것을 참조하십시오. 예를 들어 인증 시스템의 작동을 확인하려고 합니다. 물론 브라우저를 통해 사용자 이름과 비밀번호를 수동으로 입력하고 어떤 일이 일어나는지 확인할 수도 있습니다. 그러나 보내는 작은 일련의 테스트를 작성하는 것이 훨씬 더 편리합니다. 다양한 예로그인 및 비밀번호, 그리고 동시에 서버의 응답이 표시됩니다: 인증 성공 여부. 그리고 인증 스크립트가 올바르게 작동하는지 여부를 이미 보고 있습니다. 비슷한 용도로 사용됩니다 cURL 모듈.

이제 바빠지자 Denwer에 cURL 모듈 설치:

  • 확장팩 다운로드: PHP5: 추가 모듈" 이 링크: http://www.denwer.ru/packages/php5.html .
  • 다운로드한 패키지를 설치합니다(서버가 실행 중인 경우 사전 중지).
  • 파일에 " usr/local/php5/php.ini"줄에서 주석 제거: " ;확장자=php_curl.dll" 줄 시작 부분에 있는 따옴표를 제거합니다.
  • 서버를 시작합니다.
  • 데이터 확인 phpinfo(). 네가 본다면" cURL 지원 활성화"이면 모든 것이 정상입니다. 그렇지 않은 경우 모든 단계를 올바르게 수행했는지 주의 깊게 확인하십시오.

다음 기사에서(아마도 한 기사에서) 이미 이 모듈을 사용하는 예제를 사용하여 이 모듈을 분석할 것이라고 생각합니다. PHP 스크립트그래서 전환하지 마십시오!

Windows 8.1 x64에서 curl PHP를 설정하려는 사람들을 위한 짧은 안내서입니다. 웹 서버에 curl이 구성되어 있지 않으면 다음 오류: 치명적인 오류: 정의되지 않은 함수 curl_init()에 대한 호출입니다.

cURL 설정

아래에 작성된 내용은 Windows 8.1 x64 , Windows10 x64 + Apache 2.4.12(win32) + Open SSL 1.0.1m + PHP 5.6.11(php-5.6.11-Win32-VC11-x86)과 관련이 있습니다.

  1. cURL 라이브러리 http://winampplugins.co.uk/curl을 다운로드하십시오. 아무 폴더에나 압축을 풉니다. 예: "W:\WebServers\usr\local\curl".
  2. extension=php_curl.dll은 PHP php.ini 구성 파일에서 활성화되어야 합니다.
  3. 항목은 필수는 아니지만 많은 출처에서 수행하는 것이 좋습니다. 이 항목이 없어도 작동합니다. PHP가 설치된 폴더에서 "C:\Windows\system32" 폴더에 libssh2.dll, php_curl.dll(ext 폴더에 위치), ssleay32.dll, libeay32.dll 라이브러리를 복사합니다. 또한 ssleay32.dll 파일을 "C:\Windows\SysWOW64"에 복사해야 합니다.
  4. Path 변수의 환경 변수에 curl.exe 설치 폴더와 php.ini 파일의 경로를 추가합니다. 예: "W:\WebServers\usr\local\curl;W:\WebServers\usr\local\php5". 에서 나는 매우 기뻤다. windows10(1511) 등장 새로운 인터페이스환경 변수 편집. 매개변수를 편집하는 것이 매우 편리해졌습니다.

cURL에 대한 SSL 지원 활성화

  1. curl.exe 라이브러리가 설치된 폴더에 http://curl.haxx.se/ca/cacert.pem 파일을 다운로드합니다.
  2. 다운로드한 파일의 이름을 curl-ca-bundle.crt로 바꿉니다.
  3. 컴퓨터를 다시 시작하려면.

5.6.1, 5.5.17로 업데이트 후 cURL을 사용하시는 분들은 cURL 모듈이 작동을 멈춘다는 사실에 직면했습니다. 그 이후로 문제는 사라지지 않았습니다. 최신 버전의 PHP 5.6.4에서도 이 문제가 지속되었습니다.

cURL이 작동하는지 어떻게 알 수 있습니까?

만들다 PHP 파일거기에 복사하십시오 :

서버에서 엽니다. 출력이 다음과 같은 경우:

배열( => 468736 => 3 => 3997 => 0 => 7.39.0 => x86_64-pc-win32 => OpenSSL/1.0.1j => 1.2.7.3 => 배열( => dict => 파일 => ftp => ftps => gopher => http => https => imap => imaps => ldap => pop3 => pop3s => rtsp => scp => sftp => smtp => smtps => telnet => tftp) )

따라서 cURL은 괜찮습니다. 대신 PHP 오류라면 문제가 있는 것입니다.

먼저, 물론 php.ini 파일을 확인하고 거기에 있는 줄을 찾으십시오.

확장자=php_curl.dll

그리고 세미콜론이 앞에 오지 않았는지 확인하십시오.

이 경우 cURL이 작동하지 않으면 비정상적인 상황을 확인하기 위해 다른 테스트를 수행할 수 있습니다. 내용이 포함된 다른 PHP 파일을 만듭니다.

브라우저에서 cURL을 검색합니다. 일치하는 항목이 하나만 있으면 cURL 모듈이 로드되지 않습니다.

동시에 Apache와 PHP는 모두 평소와 같이 작동합니다.

세 가지 솔루션:

  1. 방법 1(정결하지 않음). PHP 5.6.*이 있는 경우 PHP 5.6.0 버전을 사용합니다. 거기에서 이전 파일 php_curl.dll을 가져와서 버전의 새 파일(예: PHP 5.6.4)로 바꿉니다. PHP 5.5.17 이상을 사용하는 경우 PHP 5.5.16에서 동일한 파일을 가져와서 교체해야 합니다. 여기서 유일한 문제는 이러한 이전 버전을 찾는 것입니다. 물론 http://windows.php.net/downloads/snaps/php-5.6 을 둘러볼 수 있지만 개인적으로 필요한 것을 찾지 못했습니다. 그리고 결정 자체는 어떻게 든 아주 정결하지 않습니다.
  2. 두 번째 방법(매우 빠르지만 정결하지 않음). PHP 디렉토리에서 Apache24bin 디렉토리로 libssh2.dll 파일을 복사하고 Apache를 다시 시작하십시오.
  3. 방법 3(정결한 - 정결한 사람들이 서서 박수를 친다). 당신은 당신의 PHP 디렉토리경로에서. 이 작업을 수행하는 방법은 공식 문서에 잘 설명되어 있습니다.

우리는 다음을 확인합니다:

짜잔, cURL 섹션이 있습니다.

왜 그런 겁니까? 이 문제는 어디에서 왔습니까? 발생 메커니즘이 이미 설명되었지만 이 질문에 대한 답은 없습니다.

문제는 5.6.1이 업데이트된 libcurl 7.38.0과 함께 출시되어야 한다는 사실과 관련이 있는 것 같습니다. 그러나 이것은 확실하지 않다고 PHP 작성자는 Apache에 몇 가지 버그가 있다고 고개를 끄덕입니다.

문제의 메커니즘: 시스템 PATH가 포함되지 않은 경우 PHP 디렉토리, 그런 다음 Apache 서비스가 시작될 때 php_curl에 대한 종속성인 새 dll(libssh2.dll)을 찾을 수 없습니다.

관련 버그 보고서:

치명적인 오류: 정의되지 않은 함수 curl_multi_init() 호출 ...

일반적으로 PHP의 cURL에 문제가 있었습니다. 항상은 아니지만 매우 자주 발생하는 것 같습니다. 내 문제를 인터넷 검색하는 과정에서 스레드를 발견했는데 그 중 일부는 12년이 넘었습니다.

또한 인터넷 검색을 통해 몇 가지 더 많은 결론을 내렸습니다.

php.ini 파일에서 extension=php_curl.dll 행의 주석을 제거하는 방법을 사진과 함께 자세히 알려주는 "바보를 위한 지침"이 인터넷에 충분합니다.

공식 PHP 사이트의 cURL 설치 섹션에는 Windows 시스템에 대한 두 가지 제안만 있습니다.

이 모듈을 사용하려면 Windows 파일 libeay32.dll 및 ssleay32.dll이 시스템에 있어야 합니다. 환경 변수길. cURL 사이트의 libcurl.dll 파일은 필요하지 않습니다.

나는 그것들을 열 번 읽었다. 로 전환됨 영어그리고 영어로 몇 번 더 읽어보세요. 이 두 문장이 동물에 의해 작성되었거나 누군가가 방금 키보드를 뛰어 넘었다는 것을 점점 더 확신 할 때마다 나는 그 의미를 이해하지 못합니다.

미친 팁과 지침도 있습니다(일부 시도도 가능했습니다).

PHP 버그 보고서 사이트에서 저는 이미 PATH 시스템 변수에 PHP가 있는 디렉토리를 포함해야 할 필요성을 풀기 직전에 왔습니다.

일반적으로 cURL에 문제가 있고 "PHP가 있는 디렉토리를 PATH 시스템 변수에 포함"해야 하는 사람들은 위에서 이미 언급한 지침으로 이동하십시오. http://php.net/manual/ru/faq.installation .php#faq .installation.addtopath . 모든 것이 간단하고 가장 중요한 것은 수행해야 할 작업이 인간의 언어로 쓰여 있다는 것입니다.

21개 답변

당신은 이미 컬이있을 수 있습니다

아무것도 다운로드하지 않아도 됩니다.

  • Windows 10 버전 1803 이상을 실행하는 경우 OS에 이미 구성되어 사용할 준비가 된 curl 사본이 함께 제공됩니다.
  • 더 난해한 요구 사항이 있는 경우(예: cygwin 빌드, 타사 빌드, libcurl, 헤더 파일, 소스 코드등), curl 다운로드 마법사를 사용하십시오. 5가지 질문에 답하면 다운로드 링크 목록이 표시됩니다.

    컬 추출 및 조정

    다운로드한 패키지에서 curl.exe를 찾으십시오. 아마도 bin\ 아래에 있을 것입니다.

    컬의 영구적인 집 역할을 할 하드 드라이브의 위치를 ​​선택합니다.

    • curl을 자신의 폴더로 만들려면 C:\Program Files\curl\ 또는 C:\curl\이 됩니다.
    • 무료 실행 파일이 많고 PATH 에 별도의 폴더를 많이 추가하지 않으려면 C:\Program Files\tools\ 또는 C:\tools\ 와 같은 단일 폴더를 사용하세요.

    curl.exe를 폴더에 넣습니다. 그리고 절대 폴더나 그 내용을 옮기지 마십시오.

    다음으로 명령줄의 모든 위치에서 curl을 사용할 수 있도록 합니다. 이렇게 하려면 다음과 같이 폴더를 PATH 에 추가합니다.

    1. Windows 10 시작 메뉴를 클릭하고 "environment"를 입력하기 시작합니다.
    2. 검색 결과를 볼 수 있습니다. 시스템 환경 변수 편집. 그것을 선택하십시오.
    3. 시스템 속성 창이 열립니다. 버튼을 클릭 환경 변수하단에.
    4. "시스템 변수" 섹션(하단 상자)에서 "경로" 변수를 선택하십시오. 버튼을 클릭 변화.
    5. "를 클릭하십시오. 추가하다" curl.exe가 있는 폴더의 경로를 붙여넣습니다.
    6. 딸깍 하는 소리 확인,필요한 경우. 열려 있는 콘솔 창을 닫고 새 PATH 를 얻도록 다시 엽니다.

    이제 모든 명령줄에서 curl을 입력하세요. 즐거운 시간!

    명령줄에서 curl을 실행하려면

    가) 클릭 마우스 오른쪽 버튼으로 클릭마우스 아이콘 "내 컴퓨터"

    b) "속성"을 선택합니다.

    d) [고급] 탭 - "환경 변수" 버튼 클릭

    e) "시스템 변수"에서 "경로" 및 "편집"을 선택합니다.

    f) 세미콜론을 추가한 다음 curl.exe를 배치한 경로(예: D:\software\curl)

이제 다음을 입력하여 명령줄에서 실행할 수 있습니다.

컬 www.google.com

Windows 10 버전 1803(및 Insider Build 17063이 있는 이전 버전)부터 더 이상 curl 을 설치하지 않습니다. Windows에는 C:\Windows\System32\ 에 자체 curl.exe(및 tar.exe)가 포함되어 있으며 일반 CMD 에서 직접 액세스할 수 있습니다.

C:\Users\vonc>C:\Windows\System32\curl.exe --version curl 7.55.1(Windows) libcurl/7.55.1 WinSSL 릴리스 날짜: 프로토콜: dict 파일 ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp 기능: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL C:\Users\vonc>C:\Windows\System32\tar.exe --version bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f- 아이피

Powershell v3 이상은 이후 버전일부 컬링 기능이 있는 Invoke-WebRequest cmdlet이 포함되어 있습니다. 언급할 가치가 있는 것은 New-WebServiceProxy 및 Invoke-RestMethod cmdlet입니다.

나는 그들이 당신을 위해 작동하는지 확실하지 않지만 Windows를 사용하지 않지만 PS가 사용하는 개체 접근 방식을 찾았습니다. curl, wget 등과 같은 유틸리티로 작업하는 것이 훨씬 쉽습니다. . 그들은 볼 가치가있을 수 있습니다

당신은 만들 수 있습니다 최신 버전이 튜토리얼을 따라 간단한 3단계로 curl, openssl, libssh2 및 zlib.

Curl은 정적으로 만들어지므로 필요한 것을 재배포할 필요가 없습니다. 동적 시간실행.

미리 빌드된 버전(x86 및 x64)을 다음에서 다운로드할 수도 있습니다.

나는 다운로드 과정을 찾고 있었다 곱슬 곱슬하다그리고 그들이 말한 곳마다 파일을 복사하십시오. System32의 curl.exe그러나 그들은 직접적인 링크를 제공하지 않았습니다. 그래서 여기에서 즐길 수 있습니다 컬.exe쉽게 bin 폴더간단히

압축을 풀고 exe 파일이 있는 bin 폴더로 이동합니다.

내가 한 일을 정확히 작성할 것이라고 생각했습니다(Windows 10, 64비트 버전).

curl 실행 파일을 선택합니다.

Win64를 선택합니다.

유니버설을 선택하십시오.

아무거나 선택하세요.

curl 버전: 7.53.1 - SSL 활성화 SSH 활성화. 크레딧: Viktor Shakats. 이 패키지는 curl 실행 가능 유형입니다. 이 링크는 미리 컴파일된 컬 바이너리를 가져옵니다(또는 경우에 따라 이 링크로 이동하는 페이지에 제공된 정보를 사용). libcurl을 공유 라이브러리/DLL로 설치할 수도 있고 설치하지 않을 수도 있습니다. 파일은 7zip을 사용하여 압축됩니다. 7zip은 파일 압축 형식입니다.

다운로드를 클릭합니다.

다운로드 폴더에 curl-7.53.1-win64-mingw.7z 파일이 있어야 합니다.

7-Zip이 없으면 설치하십시오.

오른쪽 클릭, 7-Zip, 압축 풀기. 압축을 푼 파일을 Z:\Tools\와 같은 위치에 복사하여 붙여넣습니다.

bin 폴더를 보면 curl.exe가 보입니다. 더블 클릭하면 창이 빠르게 깜박이고 사라집니다. 실행하려면 다음을 사용해야 합니다. 명령줄. bin 폴더로 이동하여 curl을 입력한 다음 요청을 위한 옵션을 입력합니다. 당신은 사용해야합니다 큰따옴표 . 작은 따옴표는 Windows의 컬에서 작동하지 않습니다.

이제 사용자 정의 Path 변수에 curl을 추가해야 하므로 다음으로 이동할 필요가 없습니다. 원하는 폴더프로그램을 시작합니다. "이 PC", "컴퓨터", "시스템 속성", " 추가 옵션 system"에서 관리자로 로그인합니다. (당신은 관리자가 아니지요? 맞죠?) 환경 변수, 시스템 변수는 목록을 보고 "경로"를 선택하고 "편집"을 선택한 다음 새로 만들기를 선택합니다. 예를 들어,

z:\tools\curl-7.53.1-win64-mingw\bin

원하는 경우 백슬래시를 추가할 수 있습니다. 저는 중요하지 않다고 생각합니다. 목록 상단에 올 때까지 위로 이동 버튼을 누르면 이전 화면에서 쉽게 볼 수 있습니다. 확인, 확인, 확인을 차례로 누른 다음 명령 프롬프트를 열고 폴더에서 임의의 사용자로 curl을 입력하여 curl을 실행할 수 있습니다. 큰따옴표를 잊지 마십시오.

제가 받고 싶은 답변입니다.

이 설치 프로그램은 http://www.confusedbycode.com/curl/을 쉽게 만들었습니다.

"몇 번의 클릭으로 Windows용 cURL을 설치할 수 있습니다. 아래 표에서 설치 프로그램을 다운로드하여 실행하고 설치를 클릭하기만 하면 됩니다. 기본 설치에는 다음이 포함됩니다.