Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]webapi i vps, nie działa skrypt
Forum PHP.pl > Forum > Przedszkole
kubek15
Witam

Mam serwer vps zainstalowany ubuntu, php,mysql, itp. i jak wgrywam plik w którym korzystam z webapi to nie działa, dlaczego?
Jeżeli ten sam plik wgram na jakiś zwykły hosting to działa tak jak ma być czyli pokazuje aukcje, a jak wgram na tego vps to już nie działa.
Co może być nie tak?
Zainstalowałem soap i to nie pomogło, może coś innego musze na tym vps'ie zainstalować?
wNogachSpisz
Niestety, moja kryształowa kula jasnowidza wywala błąd kernela, więc nie moge Ci pomóc...

A tak na poważnie, może zabierzesz się za debugowanie?
kubek15
Plik jest na 100% poprawny i nie musze go sprawdzać. Wgrałem go na serwer (zwykły hosting www za 60zł na rok) i tam łądnie pokazuje moje aukcje, a teraz wgrałem na vps z zainstalowanym php, mysql , gd, curl i inne takie co mi sa potrzebne nawet soap wgrałem i jest biała strona. Czyli wychodzi mi na to że coś jest albo nie dograne , albo webapi jakąś aktualizacje przeszło bo jak tydzień temu wgrywałem na tego samego vps to działało.
wNogachSpisz
To pieknie że plik jest w 100% sprawny... gdybym tylko jeszcze widział co masz na myśli....
Mówie o zdebugowaniu, linia po linii, sprawdzaj czy skrypt robi to co powinien, czy otwiera połączenie HTTP, czy otrzymuje odpowiedź...
kubek15
to jest ten przykłądowy skrypt
  1.  
  2. $loginn="login";
  3. $haslo="haslo";
  4. $webapi="api_key";
  5.  
  6.  
  7. $config = array('login' => $loginn,'password' => $haslo,'apiKey' => $webapi);
  8.  
  9. $country = 1;
  10.  
  11. try
  12. {
  13. $client = new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl');
  14. $version = $client->doQuerySysStatus(1, $country, $config['apiKey']);
  15. $session = $client->doLogin($config['login'], $config['password'], $country, $config['apiKey'], $version['ver-key']);
  16.  
  17. print_r($session);
  18.  
  19. }
  20.  
  21. catch(SoapFault $soapFault)
  22. {
  23. /* obsługa wyjątku */
  24.  
  25. }


i jak widzisz wszystko w nim działa. Moim zdaniem wina jest po stronie serwera ale niemam pojęcia co bo już chyba wszystkiego próbowałem, nawet apache , php i mysql przeinstalowywałem ale te znic to nie dało. Na vps biała strona a na zwykłym hostingu www pokazuje tablice id_sesji itp.
wNogachSpisz
Poproszę jeszcze plik gdzie definiowana jest klasa SoapClient.

daj też na samym początku skryptu:

kubek15
Pliku z zdefiniowaną kalsą nie mam tylko wgrywm to co jest powyżej w pliku test.php i to jest jedyny plik na serwie.
Dodałem tą linijkę co pisałeś
Na hostingu zwykłym wyświetla tak jak ma być czyli Array(['session..']=>numer ...)
A na tym VPS jest biała strona, a na vps mam ustawione aby pokazywało błędy bo jak zapomne np. ; to wywala błąd i pisze że w tej i tej lini zapomniałem o ;

Sam już niewiem co może być nie tak, bo z tydzien temu to śmigało
wNogachSpisz
Aha, mój błąd, SoapClient jest wbudowany w php..

Wrzuciłeś na początku skryptu


?
kubek15
tak dodałem to:


i potem nawet to
  1. ini_set('display_errors', 1);


i dalej tak samo na hostingu zwykłym jest numer sesji czyli ok, a na vps'ie jest biała strona
wNogachSpisz
a co robi error_reporting(-1); ?
kubek15
było w jakimś pliku gdzies na necie to dopisałęm bo myślałem że może cos pokaże ale nic nie pokazuje ani jedno ani drugie, najwyraźniej jak by czegoś brakowało na VPS'ie bo skoro na zwykłym tanim serwie działa, a na VPS nie to raczej nie wina pliku tylko chyba serwera.
Bo błędy by pokazało , poniewaz ustawiaem w php.ini żeby pokazywało i to pokazywanie działa testowałem na innych rzeczach przedtem.

A plik dalej nic tylko białą strona, może coś jeszce oprócz instalacji soap'a potrzebuje na tym serwie?
CuteOne
zobacz do specyfikacji tego API.
erix
A może przedobrzałeś z wykorzystaniem tego API i dostałeś blokadę na IP VPS-a?
kubek15
hmm .. włąśnie niewiem bo na tym vps to api działało jakies 2-3 tygodnie , potem 3 dni mnie nie było i nie było włączane i dzisiaj dopiero chciałem odpalić i nic więc niewime czy to ban.

ale wpisałem
  1. print_r($client);


i na zwykłym hostingu dostałem:
Kod
SoapClient Object ( [_soap_version] => 1 [sdl] => Resource id #1 [httpurl] => Resource id #5 [_cookies] => Array ( [ws2] => Array ( [0] => d5774f4c45c985cb3b73736e9bbdd1e3 [1] => / [2] => .allegro.pl ) [ws3] => Array ( [0] => Ndcdc03fda9153397864ed2aa540945fc [1] => / [2] => .allegro.pl ) [ws4] => Array ( [0] => x [1] => / [2] => .allegro.pl ) [QXLSESSID] => Array ( [0] => 5947cba80d72d4b0942fb942473a93ed835d3f4b155a173301 [1] => / [2] => .allegro.pl ) [captcha] => Array ( [0] => 0 [1] => / [2] => .allegro.pl ) [QXLDATA] => Array ( [0] => jMGtfDuZbTHCoL0RSLDveLTEEa8Oqx3i6Ah02cJsEg8%3D%23%23%23Cs1xMjkwk%2Fk%2BxoVSxXd8MIpbIDBwncr9DbSc6IC0KL9P7gc2Qd2vk%2FK5sAbbzkpXxCvMLRweItlnk%2Fy%2BVEjeMcIojX1O10WeiTz9UbzJ%2F%2BaFMdU%3D [1] => / [2] => .allegro.pl ) ) ) Array ( [session-handle-part] => 5947cba80d72d4b0942fb942473a93ed835d3f4b155a173301_1 [user-id] => 22333704 [server-time] => 1318076625 ) Array


a na tamtym dalej biała strona więc może coś z tym soap jest nie tak? No ale wkońcu jak przez kilka tyg to działało, a teraz nagle nie troche dziwne.
erix
Zerknij do loga serwera, bo może interpreter się wysypuje i w error_log powinieneś mieć informację, co jest nie tak.
kubek15
wpis to tylko taki
Kod
[Sat Oct 08 15:45:00 2011] [notice] Apache/2.2.17 (Ubuntu) PHP/5.3.5-1ubuntu7.2 with Suhosin-Patch configured -- resuming normal operations


a jak wpisze tylko coś takiego
  1. $client = new SoapClient("http://webapi.allegro.pl/uploader.php?wsdl");
  2. print_r($client);

to wywala taki błąd

Kod
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in 'http://webapi.allegro.pl/uploader.php?wsdl' in /var/www/test.php:13 Stack trace: #0 /var/www/test.php(13): SoapClient->SoapClient('http://webapi.a...') #1 {main} thrown in /var/www/test.php on line 13
auto-all
Sprawdź czy nie wyrzuca Ci wyjątku

  1. catch(SoapFault $soapFault) {
  2. print_r($soapFault);
  3. // lub
  4. // echo $soapFault->faultstring;
  5. }
cycofiasz
Allegro zablokowało Ci IP i wymaga przepisania kodu z obrazka z poziomu tegoż IP.
Zamiast XML'a otrzymujesz htmla ze stroną zawierającą obrazek do przepisania.
W sieci jest gotowy skrypt do odblokowania webapi, poszukaj
kubek15
Dzięki tu własnie chyba jest problem ze mnie zablokowali.

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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.