Hướng dẫn curl not working in php - curl không hoạt động trong php

0

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi không thể tìm được nội dung trang web của trang tìm kiếm Google, nhưng khi tôi sử dụng Curl để lấy thông tin từ API, nó hoạt động tốt. Tôi muốn nhận nội dung trang Google để sau này tôi có thể trích xuất các liên kết theo cách thủ công từ trang đó. Tôi đã thử nhiều lần, nhưng không thể có được nội dung trang web từ bất kỳ URL nào. Hiện tại, tôi đang làm việc với phần mềm XAMPP để chạy mã PHP.

Tôi đang sử dụng lệnh Curl_exec (). http://www.php.net/manual/en/curl.examples-basic.php là liên kết nguồn cho mã tôi đã thử.

Cũng vui lòng cho tôi biết cách sử dụng https: // trong phần mềm xampp bằng lệnh curl trong php

Đã hỏi ngày 10 tháng 11 năm 2013 lúc 17:04Nov 10, 2013 at 17:04

Hướng dẫn curl not working in php - curl không hoạt động trong php

VishwanathvishwanathVishwanath

1192 Huy hiệu bạc13 Huy hiệu Đồng2 silver badges13 bronze badges

1

Hãy thử như thế này

Lý do tại sao bạn không thể có được nguồn là bạn không sử dụng tham số CURLOPT_URL thay vào đó là CURLOPT_FILE.CURLOPT_URL parameter instead it was CURLOPT_FILE.

Đã trả lời ngày 10 tháng 11 năm 2013 lúc 17:05Nov 10, 2013 at 17:05

Hướng dẫn curl not working in php - curl không hoạt động trong php

3

Nếu tôi chạy lệnh Curl này từ dòng lệnh, nó hoạt động như một giấc mơ và tôi sẽ lấy lại một mảng json

$ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog

& nbsp; khi tôi chạy lệnh tương đương từ PHP:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

curl_setopt($ch, CURLOPT_USERPWD, '' . ':' . 'my-api-token-here');

$headers = array();
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
}
curl_close ($ch);

Tôi nhận được lỗi sau đây

Error: Could not resolve host: christaylordeveloper.???atlassian.???net

(bao gồm các dấu hỏi)

Tôi đã thử tập lệnh PHP này từ bên trong một ứng dụng Symfony trong Docker trên máy tính xách tay của tôi và cùng một ứng dụng trên máy chủ Godaddy.

Bất cứ ai có thể giải thích những gì tôi đang làm sai xin vui lòng?

Tôi có tích hợp với bên thứ ba sử dụng API SOAP. & NBSP; Trên máy chủ hiện tại của tôi và môi trường địa phương của tôi, điều này hoạt động tốt.

Gần đây tôi đã triển khai một máy chủ mới và có vẻ như Curl không làm gì cả. & NBSP; *Mã này giống hệt nhau trên cả ba cài đặt.

"Lỗi" mà tôi thấy không phải là phản hồi nào cả (không có phản hồi và không có lỗi, tuy nhiên, tôi có thể thấy rằng đó là "tài nguyên").

Sau nhiều thử nghiệm và lỗi, tôi đã thử tạo một ví dụ Curl đơn giản để kiểm tra cố gắng loại trừ các vấn đề khác vì bản thân mã khá phức tạp. & NBSP; Ví dụ đơn giản của tôi, cũng thất bại, như sau:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "google.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$output = curl_exec($ch);
$err = curl_error($ch);

print_r($err);
echo $output;
curl_close($ch);

& nbsp; Điều này làm điều tương tự. & Nbsp; Trên địa phương, tôi nhận được thông báo "301 di chuyển", trên máy chủ mới, nó chỉ là một màn hình trắng.

Tôi đã xác nhận rằng PHP đã cài đặt Curl trong dòng lệnh (PHP -M) và sử dụng phpinfo (); Trong mã của tôi. & nbsp; Nó chắc chắn được kích hoạt.

Điều gì sẽ khiến Curl không có phản hồi và không có lỗi? & NBSP; Suy nghĩ của tôi là cài đặt máy chủ, nhưng dường như tôi không thể tìm thấy những gì có thể gây ra điều này.

Được chỉnh sửa ngày 7 tháng 7 năm 2020 bởi Rklockner

Thông thường, các ứng dụng web yêu cầu xác thực người dùng và mật khẩu dựa trên HTTP, cookie và tải lên biểu mẫu. Thậm chí, xác thực người dùng với đăng nhập Google hoặc Facebook được thực hiện thông qua HTTP. Trong các loại trường hợp này, chúng tôi cần yêu cầu một máy chủ dịch vụ cụ thể (như Google Google) để xác thực và xác thực người dùng mã thông báo trên máy chủ của chúng tôi. Toàn bộ quá trình diễn ra thông qua API của máy chủ dịch vụ. Curl giúp các ứng dụng web của chúng tôi tương tác/giao tiếp với các API đó ở cấp độ HTTP.UserID and Password authentication, cookies, and form uploads. Even, user authentication with Google or Facebook sign-in is done via HTTP. In these types of cases, we need to request a particular service server(Like Google’s) for user validation and authentication token on our server. The entire process takes place through the service server’s APIs. The cURL helps our web applications to interact/communicate with those APIs on the HTTP level.

Curl: Đây là một thư viện được tạo bởi Daniel Stenberg. Curl là viết tắt của URL khách hàng. Nó cho phép chúng tôi kết nối với các URL khác và sử dụng phản hồi của chúng trong mã của chúng tôi. Curl là một cách có thể nhấn URL từ mã của chúng tôi để nhận phản hồi HTML từ nó. Curl cũng được sử dụng trong các dòng lệnh hoặc tập lệnh để truyền dữ liệu. Curl liên quan đến PHP là một thư viện cho phép chúng tôi thực hiện các yêu cầu HTTP trong PHP. Nó dễ dàng hơn để thực hiện các yêu cầu GET/POST với Curl_Exec để nhận phản hồi từ các máy chủ khác cho phản hồi dữ liệu định dạng JSON và tải xuống các tệp. It is a library created by Daniel Stenberg. The cURL stands for client URL. It allows us to connect with other URLs and use their responses in our code. The cURL is a way that can hit a URL from our code to get an html response from it. The cURL is also used in command lines or scripts for data transfer. cURL with respect to PHP is a library that lets us make HTTP requests in PHP. It’s easier to do GET/POST requests with curl_exec to receive responses from other servers for JSON format data response and to download files.

Theo mặc định, theo mặc định, theo mặc định, có thể không được kích hoạt trong Apache. Nếu chúng tôi cố gắng chạy các chương trình Curl mà không cho phép Curl trong Apache, trình duyệt sẽ gây ra lỗi. The cURL, by default, is not enabled in Apache. If we try to run CURL programs without enabling CURL in Apache, the browser will throw an error.

Fatal error: Call to undefined function curl_init()

Để tránh điều này, chúng ta cần bật phần mở rộng Curl trong máy chủ Apache với các phương thức sau trong các môi trường khác nhau.
To avoid this, we need to enable the CURL extension in the Apache server with the following methods in different environments.

Bật Curl trong Apache: Kích hoạt Curl trong Apache bằng cách định cấu hình tệp Php.ini. Enabling CURL in Apache by configuring php.ini file.

  • Bước 1: Xác định vị trí tệp php.ini, nó chủ yếu nằm trong thư mục gốc máy chủ hoặc public_html sau đó mở php.ini trong một trình soạn thảo văn bản Locate PHP.ini file, it is mostly in the server’s root folder or public_html then open the PHP.ini in a text editor
  • Bước 2: Tìm kiếm hoặc tìm phần mở rộng = php_curl.dll với ctrl+f và xóa bán đại tá ‘; trước khi nó kích hoạt nó. Search or find the ;extension=php_curl.dll with Ctrl+F and remove the semi-colon ‘;’ before it to activate it.
    Hướng dẫn curl not working in php - curl không hoạt động trong php
  • Bước 3: Lưu và đóng php.ini với ctrl+s và khởi động lại Apache từ Terminal/CMD Save and Close PHP.ini with Ctrl+S and restart Apache from terminal/CMD

Kích hoạt Curl trong WAMP: WAMP là một ngăn xếp phần mềm có sẵn cho các Windows gói Apache, MySQL và PHP cùng nhau. Nó có một gói cài đặt để cài đặt ba công nghệ web trên môi trường Windows cùng nhau theo kiểu GUI có hướng dẫn GUI không rắc rối. WAMP is a software stack available for Windows that bundle Apache, MySQL, and PHP together. It’s an installation pack for installing the three web technologies on the Windows environment together in a hassle-free GUI guided fashion.

Kích hoạt Curl trong Ubuntu: Chạy lệnh sau: Run the following command:

  • Lệnh này cài đặt php curl .________ 6
  • Lệnh này bắt đầu với máy chủ Apache .________ 7

Kiểm tra xem Curl có được bật hay không: Nếu chúng tôi cố gắng chạy chương trình PHP CURL mà không cần bật Curl, trình duyệt sẽ ném lỗi sau. If we try to run a cURL PHP program without cURL being enabled, the browser will throw the following error.

Hướng dẫn curl not working in php - curl không hoạt động trong php

  • Example:

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    0

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    1
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    2
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    3

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    1
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    5
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    2
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    7

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    1
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    9
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, 'https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

    curl_setopt($ch, CURLOPT_USERPWD, '' . ':' . 'my-api-token-here');

    $headers = array();
    $headers[] = 'Content-Type: application/json';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error: ' . curl_error($ch);
    }
    curl_close ($ch);

    0
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    222

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    1
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, 'https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

    curl_setopt($ch, CURLOPT_USERPWD, '' . ':' . 'my-api-token-here');

    $headers = array();
    $headers[] = 'Content-Type: application/json';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error: ' . curl_error($ch);
    }
    curl_close ($ch);

    4
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    9
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, 'https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

    curl_setopt($ch, CURLOPT_USERPWD, '' . ':' . 'my-api-token-here');

    $headers = array();
    $headers[] = 'Content-Type: application/json';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error: ' . curl_error($ch);
    }
    curl_close ($ch);

    6

    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    1
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, 'https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');

    curl_setopt($ch, CURLOPT_USERPWD, '' . ':' . 'my-api-token-here');

    $headers = array();
    $headers[] = 'Content-Type: application/json';
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error: ' . curl_error($ch);
    }
    curl_close ($ch);

    8
    $ curl -u :my-api-token-here -X GET -H "Content-Type: application/json" https://christaylordeveloper.‍atlassian.‍net/rest/api/3/issue/KMCI-2/worklog
    2
    Error: Could not resolve host: christaylordeveloper.???atlassian.???net
    0

    Error: Could not resolve host: christaylordeveloper.???atlassian.???net
    1

  • Đầu ra: Trang này của Geekforgeek hiện được hiển thị trên localhost của tôi khi chạy máy chủ Apache. Nội dung HTML được lặp lại từ đầu ra là đầu ra. This page of GeekforGeeks is now rendered on my localhost running the Apache server. The HTML content is “echoed” as the output.
    Hướng dẫn curl not working in php - curl không hoạt động trong php

PHP là ngôn ngữ kịch bản phía máy chủ được thiết kế dành riêng cho phát triển web. Bạn có thể học PHP từ đầu bằng cách làm theo hướng dẫn PHP và các ví dụ PHP này.


Làm cách nào để kích hoạt Curl trong PHP?

Curl được bật theo mặc định nhưng trong trường hợp bạn đã vô hiệu hóa nó, hãy làm theo các bước để bật nó ...
Mở PHP.INI (nó thường là trong / etc / hoặc trong thư mục PHP trên máy chủ) ..
Tìm kiếm tiện ích mở rộng = php_curl.DLL.Giải phóng nó bằng cách loại bỏ semi-polon (;) trước mặt nó ..
Khởi động lại máy chủ Apache ..

Curl có hoạt động trong PHP không?

Curl là một thư viện PHP và công cụ dòng lệnh (tương tự như WGET) cho phép bạn gửi và nhận các tệp qua HTTP và FTP.Bạn có thể sử dụng proxy, truyền dữ liệu qua các kết nối SSL, đặt cookie và thậm chí nhận các tệp được bảo vệ bởi một đăng nhập. (similar to wget) that allows you to send and receive files over HTTP and FTP. You can use proxies, pass data over SSL connections, set cookies, and even get files that are protected by a login.

Làm thế nào kiểm tra Curl đang hoạt động trong PHP?

Tạo phpinfo.Tệp PHP và lưu.PHPINFO;?go to http://domainname/phpinfo.php to check whether CURL is enabled or not.

Curl có hoạt động trên localhost không?

Nó cũng hoạt động cho localhost, vì Curl sẽ kiểm tra bộ đệm trước khi giải quyết nội bộ và giải quyết -giải quyết lưu trữ bộ đệm DNS với các mục đã cho.(Được cung cấp cho các ứng dụng thông qua tùy chọn Curlopt_Resolve.), since curl will check the cache before the internal resolve and --resolve populates the DNS cache with the given entries. (Provided to applications via the CURLOPT_RESOLVE option.)