Witam
Mam problem, a mianowice nie moge sie odwolac do pliku znajdującego sie na zewnętrznym serwerze, gdy plik znajduje sie na serwerku to wszystko ładnie śmiga, jednak jeśli znajduje się gdzieś poza serwerem to sie wysypuje. Mam dostęp do .htaccess. Macie może jakieś pomysły na rozwiązanie tego problemu??
Z góry dzięki. [browar]
Pozdrawiam.

- Rejestracja:ponad 21 lat
- Ostatnio:9 miesięcy

- Rejestracja:prawie 23 lata
- Ostatnio:około 13 godzin
Dostajesz błąd jakiś?
Prawdopodobnie problem jest związany z opcją allow_url_fopen ustawioną na false w pliku php.ini, albo z włączonym safe_mode (ewentualnie na stałe ustawionym open_basedir w pliku php.ini). Być moze da się ustawić to tak jak trzeba przez .htaccess, ale nigdy nie próbowałem zmieniać przez to ustawień PHP (na oko to coś w stylu polecenia php_value allow_url_fopen 1).

- Rejestracja:ponad 21 lat
- Ostatnio:9 miesięcy
Ktos napisał(a)
Dostajesz błąd jakiś?
Prawdopodobnie problem jest związany z opcją allow_url_fopen ustawioną na false w pliku php.ini, albo z włączonym safe_mode (ewentualnie na stałe ustawionym open_basedir w pliku php.ini). Być moze da się ustawić to tak jak trzeba przez .htaccess, ale nigdy nie próbowałem zmieniać przez to ustawień PHP (na oko to coś w stylu polecenia php_value allow_url_fopen 1).
Warning: fopen(http://www.google.com/images/firefox/fox1.gif): failed to open stream: No route to host in /home/cymeshh/index.php on line 126
To odnośnie błędu, niestety zmiany w pliku .htaccess nic nie dają:(

- Rejestracja:około 21 lat
- Ostatnio:około 13 lat
a spróbuj z innym adresem, albo zobacz czy zadziała zamiast www.google.com - 72.14.207.99, odpal phpinfo() i po prostu sprawdź wartości dla allow_url_fopen, safe_mode, open_basedir czy w ogóle o to chodzi i czy warto się grzebać w .htaccess
jaką masz wersję php ? poczytaj komentarze na http://pl.php.net/fopen

- Rejestracja:ponad 21 lat
- Ostatnio:9 miesięcy
allow_url_fopen On
safe_mode Off
open_basedir /home/cymeshh:/usr/lib/php:/usr/local/lib/php:/tmp
Wersja php:
PHP Version 4.4.2 with Hardening-Patch 0.4.8
Może to pomoże:
http://cymeshh.fileplace.biz/phpinfo.php
W komentarzach pisze aby zmienić fopen na file_get_contents ale niestety to nic nie daje:(
Osobiście uzywam fsockopen:
function GetDateFromUrl($link)
{
if (preg_match('@^http://(www\.)?[^/]+$@i', $link)) $link .= '/';
global $date;
$date = '';
$link = parse_url($link);
$path = (!empty($link['path'])) ? $link['path'] : '/';
$path .= (!empty($link['query'])) ? '?' . $link['query'] : '';
//$header = 'HEAD '.$path.' HTTP/1.0\r\n'; //tylko nagłówek
$header = 'GET '.$path.' HTTP/1.0'."\r\n";
$header .= 'Host: '.$link['host']."\r\n";
$header .= 'Content-type: application/x-www-form-urlencoded'."\r\n";
$header .= 'User-Agent: twardy_bot/1.0 (http://inteco.win.pl)'."\r\n";
$header .= 'Content-length: 0' . "\r\n\r\n";
//$header .= 'Connection: close\r\n\r\n'; //tylko nagłówek
if ($of = @fsockopen($link['host'], (isset($link['port']) ? $link['port'] : 80), $err_num, $err_msg, 60))
{
fputs($of, $header);
while (!feof($of))
{
if (!$date .= fgets($of,10000))
{
fclose($of);
return false;
}
}
fclose($of);
if (!preg_match('/^HTTP\/1.. 200/i',$date))
{
if (preg_match('/^HTTP\/1.. 30\d/i',$date) && preg_match('@^Location:\s+(http://.+)$@mi', $date, $rn))
{
return GetDateFromUrl(rtrim($rn[1]));
}
return false;
}
} else return false;
$date = preg_replace('@^.+?(\r\n\r\n|\n\n)@si','',$date);
return true;
}
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.