PHP 8 cuộn tròn không hoạt động

// create a new cURL resource
$ch = curl_init[];

// set URL and other appropriate options
curl_setopt[$ch, CURLOPT_URL, "//www.example.com/"];
curl_setopt[$ch, CURLOPT_HEADER, 0];

// grab URL and pass it to the browser
curl_exec[$ch];

// close cURL resource, and free up system resources
curl_close[$ch];
?>

Ghi chú. Bài viết này ban đầu được viết trên reich-consulting. net. Reich Web Consulting đã thu hẹp trọng tâm của mình vào web và không còn cung cấp các dịch vụ hỗ trợ kỹ thuật nữa, vì vậy chúng tôi đã chuyển tất cả nội dung hỗ trợ kỹ thuật của mình ra bên ngoài trang web. Chúng tôi hy vọng bạn thấy bài viết này hữu ích. Nó được cung cấp nguyên trạng và chúng tôi sẽ không cung cấp hỗ trợ về chủ đề này nữa

Trước đó vào tối nay, tôi đang thiết lập một số công cụ phát triển trên máy tính xách tay mới của mình và gặp phải một sự cố mà tôi chưa từng gặp trước đây. Khi tôi bắt đầu thử nghiệm một ứng dụng sử dụng API Facebook [phụ thuộc vào thư viện CURL], PHP khẳng định rằng tiện ích mở rộng CURL chưa được tải. Tôi đã kiểm tra và kiểm tra lại rằng php của tôi. ini là chính xác [đúng vậy] và phần còn lại của các tiện ích mở rộng của tôi đang tải [chúng đúng vậy]

Cuối cùng sau khi xem tài liệu cài đặt cho mô-đun CURL, tôi đã nhận ra sai lầm của mình. Tôi đã quên đặt PHP trên đường dẫn hệ thống. theo php. net

Để kích hoạt mô-đun này trên môi trường Windows, libeay32. dll và ssleay32. dll phải có trong PATH của bạn. Bạn không cần libcurl. dll từ trang web cURL

Nói cách khác, bạn cần điều chỉnh biến môi trường PATH của mình để chứa C. \PHP hoặc bạn cần sao chép hai tệp này từ thư mục đó sang thư mục trên đường dẫn, chẳng hạn như C. \windows\system32. Một trong hai giải pháp nên giải quyết vấn đề

cURL được bật theo mặc định nhưng trong trường hợp bạn đã tắt nó, hãy làm theo các bước để bật nó

  • mở php. ini [thường nằm 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. Bỏ ghi chú bằng cách xóa dấu chấm phẩy [ ; ] trước nó
  • Khởi động lại máy chủ Apache

Đối với bất kỳ câu hỏi nào khác, xin vui lòng liên hệ với chúng tôi tại info@xecuirfy. com

Tôi có tích hợp với bên thứ ba sử dụng API SOAP. Trên máy chủ hiện tại VÀ môi trường cục bộ 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ả. * Mã giống hệt nhau trên cả ba cài đặt

"Lỗi" mà tôi thấy là không có 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 lần thử và sai, 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ã này khá phức tạp. Ví dụ đơn giản của tôi, điều đó cũng không thành công, 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];

Điều này làm điều tương tự. Ở local thì báo "301 Moved", ở server mới thì toàn màn hình trắng

Tôi đã xác nhận rằng php đã cài đặt curl thông qua dòng lệnh [php -m] và sử dụng phpinfo[]; . 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?

Đã chỉnh sửa ngày 7 tháng 7 năm 2020 bởi rklockner

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

maxxd

Đăng ngày 7 tháng 7 năm 2020

maxxd

  • guru
    • 1. 5k
    • 32
  • Vị trí. bắc Carolina

    • Chia sẻ

Đăng ngày 7 tháng 7 năm 2020

Kiểm tra phiên bản cURL của bạn trên các môi trường của bạn. Tôi đã gặp sự cố tương tự một lần - Centos 6 rõ ràng sử dụng phiên bản cũ của cURL, vì vậy mọi thứ tôi đang làm cục bộ và trên máy chủ dàn đều hoạt động hoàn hảo nhưng đã hoàn toàn ngừng hoạt động khi sản xuất cho đến khi tôi cập nhật phiên bản cURL theo cách thủ công

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

rklockner

Đăng ngày 7 tháng 7 năm 2020

rklockner

  • Các thành viên
    • 48

  • Tác giả

    • Chia sẻ

Đăng ngày 7 tháng 7 năm 2020 [đã chỉnh sửa]

15 phút trước, maxxd đã nói

Kiểm tra phiên bản cURL của bạn trên các môi trường của bạn. Tôi đã gặp sự cố tương tự một lần - Centos 6 rõ ràng sử dụng phiên bản cũ của cURL, vì vậy mọi thứ tôi đang làm cục bộ và trên máy chủ dàn đều hoạt động hoàn hảo nhưng đã hoàn toàn ngừng hoạt động khi sản xuất cho đến khi tôi cập nhật phiên bản cURL theo cách thủ công

Cảm ơn đã trả lời nhanh chóng. Làm một nghiên cứu nhỏ

Tại địa phương [làm việc]. 7. 53. 1

Centos 7 [thức dậy]. 7. 29. 0

Centos 8 [không hoạt động]. 7. 61. 1

Vì máy chủ mới đang chạy phiên bản mới hơn nên tôi cảm thấy việc nâng cấp sẽ không hiệu quả

Đã chỉnh sửa ngày 7 tháng 7 năm 2020 bởi rklockner

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

rklockner

Đăng ngày 7 tháng 7 năm 2020

rklockner

  • Các thành viên
    • 48

  • Tác giả

    • Chia sẻ

Đăng ngày 7 tháng 7 năm 2020 [đã chỉnh sửa]

Tôi vừa thử chạy dòng lệnh sau trên máy chủ mới và nhận được kết quả như mong đợi, vì vậy có vẻ như phiên bản curl đang hoạt động, nhưng có lỗi với php?

$ curl google.com

301 Moved

301 Moved

The document has movedhere.

 

Đã chỉnh sửa ngày 7 tháng 7 năm 2020 bởi rklockner

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

maxxd

Đăng ngày 7 tháng 7 năm 2020

maxxd

  • guru
    • 1. 5k
    • 32
  • Vị trí. bắc Carolina

    • Chia sẻ

Đăng ngày 7 tháng 7 năm 2020

Báo cáo lỗi có được bật trên máy chủ mới của bạn không?

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

rklockner

Đăng ngày 7 tháng 7 năm 2020

rklockner

  • Các thành viên
    • 48

  • Tác giả

    • Chia sẻ

Đăng ngày 7 tháng 7 năm 2020 [đã chỉnh sửa]

Một người bạn của tôi đã có thể gợi ý cho tôi, vì vậy tôi muốn cập nhật lý do cURL không hoạt động

SELinux

Khi tôi tắt nó, cURL hoạt động tốt. tôi hi vọng điêu nay se giup được ai đo

CHỈNH SỬA. Vì lợi ích của máy chủ càng an toàn càng tốt, một nghiên cứu nhỏ đã phát hiện ra rằng bạn có thể bật SELinux, nhưng hãy chạy lệnh sau để cho phép lưu lượng cURL đi qua

setsebool -P httpd_can_network_connect bật

setsebool -P httpd_can_network_connect on

 

Đã chỉnh sửa ngày 7 tháng 7 năm 2020 bởi rklockner

Liên kết để bình luậnChia sẻ trên các trang web khác

Nhiều tùy chọn chia sẻ hơn

maxxd

Đăng ngày 8 tháng 7 năm 2020

maxxd

  • guru
    • 1. 5k
    • 32
  • Vị trí. bắc Carolina

    • Chia sẻ

Đăng ngày 8 tháng 7 năm 2020

Yup - Tôi đã không giúp được gì ở đó;

Làm cách nào để bật cURL trong PHP 8?

Lệnh này cài đặt PHP CURL. .
Bước 1. Định vị PHP. ini, nó chủ yếu nằm trong thư mục gốc của máy chủ hoặc public_html sau đó mở PHP. ini trong trình soạn thảo văn bản
Bước 2. Tìm kiếm hoặc tìm ;extension=php_curl. .
Bước 3. Lưu và Đóng PHP. ini bằng Ctrl+S và khởi động lại Apache từ terminal/CMD

Tại sao cURL của tôi không hoạt động?

Nguyên nhân #1 – cURL không được bật . Nếu cURL được công ty lưu trữ của bạn hỗ trợ nhưng nó không được bật theo mặc định, thì thường thì bạn chỉ cần đăng nhập vào bảng điều khiển lưu trữ của mình, điều hướng đến phần có liên quan và bật nó. Xong.

Làm cách nào để bật cURL trong PHP Windows?

cURL được bật theo mặc định nhưng trong trường hợp bạn đã tắt nó, hãy làm theo các bước để bật nó. .
mở php. ini [thường nằm 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. Bỏ ghi chú bằng cách xóa dấu chấm phẩy [ ; ] trước nó
Khởi động lại máy chủ Apache

Làm cách nào để kiểm tra xem cURL có được bật trong PHP không?

Tạo phpinfo. tệp php và lưu. phpthông tin; . //tên miền/phpinfo. php để kiểm tra xem CURL có được bật hay không go to //domainname/phpinfo.php to check whether CURL is enabled or not .

Chủ Đề