Cập nhật: Sự cố dường như đã bị hỏng DLL ở đâu đó trong bản cài đặt PHP của tôi hoặc có thể là lỗi trong PHP 5.2.9 trên Win2k. Tôi đã tải xuống bản phân phối windows (nhị phân) của PHP 5.2.10 từ php.net và trích xuất nó vào thư mục c: \ PHP của tôi. Sau khi làm điều đó, mọi thứ đều ổn.Làm cách nào để CURL hoạt động với PHP trên Windows? (WAMP)
Update2: Tôi phá hoại tất cả những gì tôi đã cố gắng trước đó (tất cả mọi thứ từ các gạch đầu dòng danh sách dưới đây), trừ rằng tôi rời "extension=php_curl.dll
" không chú thích trong file php.ini của tôi. Nó chỉ ra rằng đó là tất cả các bạn cần phải làm trong một cài đặt thích hợp.
Tôi đang cố gắng để CURL hoạt động trên bản cài đặt Windows của PHP (phiên bản 5.2.9-2) và tôi kết thúc bằng wit. Tôi đã tìm thấy the PHP CURL installation page, this SO question tham chiếu this page và this SO question. Tôi đã thử hầu hết các đề xuất trong tất cả các trang đó nhưng tôi vẫn gặp lỗi. Đây là trang kiểm tra rất đơn giản của tôi:
<?php
$ch = curl_init();
?>
<b>Success!</b>
này mang lại cho tôi:
Fatal error: Lệnh gọi hàm curl_init không xác định() trong C: \ ApacheRoot \ curltest.php trên đường dây
Trong log lỗi Apache của tôi, tôi có được điều này mỗi khi máy chủ bắt đầu:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_curl.dll' - The specified procedure could not be found.\r\n in Unknown on line 0
Tôi đã làm như sau:
- không chú thích dòng sau trong php.ini:
extension=php_curl.dll
- sao chép
ssleay32.dll
vàlibeay32.dll
từ C: \ PHP để C: \ WINNT \ System32 - Đã tải xuống cURL cho Win32 từ curl.haxx.se và trích xuất tệp .zip thành C: \ cURL
- Đã thêm
C:\cURL
vào biến môi trường PATH của hệ thống của tôi. - đã xác minh rằng:
- php.ini bao gồm
extension_dir="C:\PHP\ext"
- Thư mục
C:\PHP\ext
chứaphp_curl.dll
- Các chỉ
php.ini
tập tin trên hệ thống của tôi là trongC:\PHP
(ví dụ đặc biệt là không cóC:\WINNT\php.ini
) - Các Tệp Apache
httpd.conf
bao gồm dòngPHPIniDir "C:/PHP/"
- php.ini bao gồm
Tôi cũng đã khởi động lại máy (nhiều lần, trên thực tế ...).
Đầu ra phpinfo() của bạn cho phần mở rộng và biến môi trường/đường dẫn là gì? – JYelton
Xác minh rằng (ngoài phần trên), PHP thực sự đang tải phần mở rộng cURL. Làm điều này bằng cách nhìn vào đầu ra của ' Php php_info(); ?> '. Nên có một khối có tiêu đề ** curl **. Nếu không, thì nó thực sự không được tải vì một lý do nào đó. – Nate
@Nate: không có phần curl trong phpinfo() – Kip