2011-01-05 15 views
8

Ten problem wydaje się być omówione w przeszłości wszędzie w google i tutaj, ale jeszcze nie znalazłem rozwiązania.PHP5 nie udało się otworzyć strumień: żądanie HTTP nie powiodło się błąd podczas korzystania z fopen

Bardzo prosty fopen daje mi ostrzeżenie

PHP: fopen (http://www.google.ca): failed to open stream:! Żądania HTTP nie powiodło się”

URL Ja ściągam nie mają znaczenia. ponieważ nawet przy pobieraniu http://www.google.com nie działa.Ten sam skrypt działa na innym serwerze.Jednym błędem jest Ubuntu 10.04 i PHP 5.3.2 To nie jest problem w moim skrypcie, to jest coś innego na moim serwerze lub może to być błąd w PHP.

Próbowałem użyć user_agent w php.ini, ale bez powodzenia. Moje allow_url_fopen jest ustawione na On.

Jeśli masz jakieś pomysły, nie krępuj się!

+0

Czy możesz zrobić 'wget http: // www.google.ca' z wiersza poleceń? Czy 'fopen()' nie podaje więcej informacji o błędach? –

+0

możesz zrobić fopen ('173.194.43.104')? (to IP google.ca) może DSN nie jest dostępny dla PHP na tym serwerze? –

+0

@Pekka tak, nie mogę pobrać żadnego problemu w ten sposób – mickey

Odpowiedz

9

Brzmi jak konfiguracja nie wolno używać funkcji plików, który jest wspólny obecnie ze względu na kwestie bezpieczeństwa. Jeśli masz dostępne biblioteki cURL, poleciłbym je wypróbować.

PHP: cURL

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.google.ca/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$file = curl_exec($ch); 
curl_close($ch); 

echo $file; 
+0

patrz komentarz powyżej – mickey

+0

Utwórz testowy plik PHP za pomocą linii 'phpinfo(); Wyszukaj "curl" i sprawdź, czy jest włączony. –

+0

Ok Widzę, że edytowałeś swój post, ta wersja działa, spróbuję tego w moim scenariuszu. – mickey

1

Nie jestem wcale pewien, czy to jest problem czy nie, ale wiem, że w przeszłości miałem problemy z otwarciem URL z fopen, często ze względu na php. Ini's allow_url_fopen lub inne nieznane ustawienia bezpieczeństwa Możesz chcieć spróbować cURL w PHP, co często działa dla mnie, znajdziesz prosty przykład googlując.

+0

Próbowałem php-curl i otrzymuję dokładnie ten sam błąd. – mickey

+0

Dokładnie to samo? Dziwne. Co daje curl_error()? http://pl.php.net/manual/en/function.curl-error.php – Adam

0

Sprawdź swoje dane wyjściowe phpinfo - jest http obecne pod Registered PHP Streams?

+0

https, ftps, compress.zlib, compress.bzip2, php, plik, glob, dane, http, ftp, phar, zip – mickey

Powiązane problemy