Qbexus
5.05.2012, 08:21:55
Skrypt na serwerze A ma pobierać dane ze skryptu z serwera B przez Curl lub file_get_contents niestey nie pobiera nic, ani nagłówka ani danych, oczywiście serwer B noramlnie zwraca strone z danymi. Żeby było ciekawiej serwer A nie widzi żadnej ze stron na serwerze B ale już na innych serwerach tak np. google, onet czy ten sam skrypt z danymi, który jest na serwerze B tylko umiejscowiony gdzie indziej. Tu można by powiedzieć, że cos jest nie tak z serwerem B ale ten sam skrypt, który jest na serwerze A bez problemu widzi dane z serwera B pod warunkiem że jest umiejscowiony gdzie indziej (na innym serwerze). Czyli imho "gryzą" się te 2 serwery pytanie na jakiej płaszczyźnie.
grzeee
5.05.2012, 08:37:58
może to jest mój wczorajszy problem
linkWysyłasz w twoich metodach nagłówków przy zapytaniu ? Spróbuj ustawić user-agent na cokolwiek
Qbexus
5.05.2012, 09:05:23
To nie to.
greycoffey
5.05.2012, 09:48:44
Nie jesteśmy jansowidzami - z twojego opisu nic nie wywnioskujemy. Próbuj wszystkiego.
Qbexus
5.05.2012, 09:52:17
@greycoffey już ktos mógł się z takim przypadkiem spotkać no i to "wszystko" trzeba jakoś ograniczyć.
greycoffey
5.05.2012, 09:53:47
Sprawdź logi apache, sprawdź czy serwer A poprawnie rozpoznaje domenę serwera B, sprawdź czy link jest poprawny.
redeemer
5.05.2012, 09:57:55
curl_error nie zwraca nic? Spróbój też ustawić flagę CURLOPT_FOLLOWLOCATION.
Qbexus
5.05.2012, 10:27:42
curl_error nic nie zwraca CURLOPT_FOLLOWLOCATION działa przy przekierowaniu ale wtedy widać przynajmniej nagłówek, link jest poprawny, faktycznie zostaje przeczesanie logów.
wNogachSpisz
5.05.2012, 10:30:53
Użyj PEAR:HTTP_Request2.
Ustawiasz debug na true i wtedy wyświetlają się wysłane i odebrane dane (tzn jeśli body jest zbyt duże to tylko nagłowki).
Bez tego cięzko cokolwiek debugować.
greycoffey
5.05.2012, 10:39:31
Odpal `nslookup serwerB.tld`. Poszukaj też w logach na serwerze B, czy żądanie doszło.
mihauu
5.05.2012, 11:31:33
nslookup aureus-miedzychod.pl
;; connection timed out; no servers could be reached
W logach apache nic nie ma, połączenie do doszło.
Nie działa żadna domena na tym serwerze.
P.S. Wątek rozpoczął kolega, ale teraz przyszło kolej na moją zmianę w pracy
greycoffey
5.05.2012, 13:25:15
Poszperajcie w waszym serwerze DNS, lub na serwerze A w pliku /etc/resolv.conf
strife
6.05.2012, 00:14:06
Przenoszę na Przedszkole
Qbexus
6.05.2012, 23:50:21
@strife dzięki za przenosiniy ale czy to znaczy, że jako wychowawca przedszkolaków znasz panaceum na nasz problem bo nie został jeszcze rozwiązany.
redeemer
6.05.2012, 23:57:10
Wszystko do rozwiązania problemu masz już podane. Serwer B nie resolvuje nazw - brakuje nameservera, albo nameserver jest źle skonfigurowany. Zawsze możesz też dopisać IP i nazwę hosta na sztywno do pliku /etc/hosts:
Kod
78.47.57.81 aureus-miedzychod.pl
Albo ustawić DNSy "zęwnętrzne", np googlowskie w /etc/resolv.conf:
Kod
nameserver 8.8.8.8
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.