2012-04-27 26 views
5

Tôi nhận được thông báo cảnh báo: file_get_contents thất bại trong việc mở cho phép stream từ chốifile_get_contents php trả về null khi allow_url_fopen là trên

tôi đã thiết all_url_open để vào trong file php.ini.

Tệp php của tôi nằm trong máy chủ apache của tôi và đang cố truy cập url (trả về JSON) từ máy chủ tomcat trên cùng một máy.

Mã trong file php trông giống như:

$srcURL = 'http://samemachine:8080/returnjson/'; 

    $results = file_get_contents($srcURL); 

Tôi cũng đã cố gắng curl và nó sẽ trả về không có gì và không nhấn server tomcat hoặc:

function curl($url){ 
     $ch = curl_init(); 

     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Language: en-us')); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
     $data = curl_exec($ch); 

     curl_close($ch); 
     return $data; 
    } 

Tại sao cho phép từ chối ?

+1

tôi giả sử bạn có nghĩa là để nói rằng [ 'allow_url_fopen'] (http: // php. net/allow_url_fopen) chỉ thị? – Wiseguy

+0

Có lẽ máy chủ từ xa có trả về lỗi truy cập 401 bị từ chối không? Bạn đã thử nhấn url trong trình duyệt chưa? –

+0

Bạn có thể truy cập tệp thông qua trình duyệt của mình không? –

Trả lời

2
  • Hãy chắc chắn rằng nó thực sự allow_url_fopen và không all_url_open như bạn đã viết
  • đúp kiểm tra điều này bằng cách chạy phpinfo(). Hãy chắc chắn rằng nó liệt kê các tùy chọn như được kích hoạt. Nếu nó không khởi động lại máy chủ web của bạn
  • Để gỡ rối vấn đề curl của bạn, hãy chạy Wireshark và xem trên giao diện lo