Tôi đang gặp khó khăn khi tạo thư viện cURL PHP nhận ra bí danh mà tôi đã tạo trong tệp /etc/hosts
của mình.PHP cURL không thấy tệp/etc/hosts
Đây là những gì tôi có trong tập tin /etc/hosts
tôi ngay bây giờ:
192.168.0.20 www.example.dev
Ở phía bên kia (192.168.0.20) Apache được cấu hình để chạy các máy chủ ảo trên miền example.dev
. Bí danh hoạt động nếu tôi thử nghiệm trên trình duyệt của mình nhưng với PHP cURL không hoạt động.
File hosts
là trên cả hai máy (192.168.0.10 < = PHP cli, 192.168.0.20 < = Apache).
Vì mục đích hoàn chỉnh, đây là mã PHP tôi đang sử dụng.
$this->url = 'http://www.example.dev/';
$this->ch = curl_init();
$header = array
(
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3",
"Accept-Encoding: gzip,deflate,sdch",
"Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4",
"Cache-Control: max-age=0",
"Connection: keep-alive",
);
$sUserAgent = $this->tor ? UserAgents::getRandom() : UserAgents::CHROME16_LINUX;
curl_setopt($this->ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($this->ch, CURLOPT_USERAGENT, $sUserAgent);
curl_setopt($this->ch, CURLOPT_URL, $this->url);
curl_setopt($this->ch, CURLOPT_HEADER, false);
curl_setopt($this->ch, CURLINFO_HEADER_OUT, true);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, (bool) $waitResponse);
curl_setopt($this->ch, CURLOPT_VERBOSE, (bool) $this->verbose);
curl_setopt($this->ch, CURLOPT_PORT, $this->port);
curl_setopt($this->ch, CURLOPT_AUTOREFERER, true);
curl_setopt($this->ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($this->ch, CURLOPT_ENCODING, '');
curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($this->ch, CURLOPT_TIMEOUT, 60);
curl_setopt($this->ch, CURLOPT_DNS_CACHE_TIMEOUT, 120);
curl_setopt($this->ch, CURLOPT_COOKIESESSION, true);
curl_setopt($this->ch, CURLOPT_COOKIEFILE, 'cookie');
foreach ($this->files as $k => $file) {
$this->data['_file_' . $k] = '@' . $file;
}
curl_setopt($this->ch, CURLOPT_POST, true);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $this->data);
$this->result = curl_exec($this->ch);
Lưu ý: Vấn đề này có vẻ như this one nhưng PHP liên quan.
Bạn đã khởi động lại máy chủ chưa? Chỉ để chắc chắn? –
là tệp máy chủ trên máy phù hợp? Bạn có chạy PHP trên máy này không? –
Bạn có thể đăng mã chính xác không? Không có vấn đề gì. – mlinuxgada