Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-07-14 23:37:16

  zimzum - Członek DUG

zimzum
Członek DUG
Zarejestrowany: 2006-09-04

PHP + wyjatki (problem z serwerem?)

Hey,

wrzucilem dzisiaj swoje skrypty na moje konto (moj kolega zajmuje sie hostingiem i mam darmowe konto do testow) i chcialem je testowac on-line. Niestety w momencie w ktorym rzucam wyjatek w skrypcie PHP dostaje pusta strone (tak jakby zostala wywolana funkcja exit() ). U mnie na kompie jest wszystko super. Probowalem tez odpalic na tym koncie odpalic jakies przykladowe skrypty z netu i zawsze tam, gdzie jest rzucony wyjatek tam skrypt staje w miejscu.

Moje pytanie: co jest nie tak z tym kontem? Bo raczej skrypty sa OK. Ja u siebie na kompie mam ustawione wszystko defaultowo i jest git.

Nie moge pomeczyc kumpla, bo ruszyl na urlop, a strone trzeba klepac i testowac ;-(

Offline

 

#2  2007-07-15 10:47:41

  ponury_kostek - Użytkownik

ponury_kostek
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2007-01-02
Serwis

Re: PHP + wyjatki (problem z serwerem?)

Jak mazoesz to pokaz caly skrypcik, jaka wersja Linux czy Shit, PHP, Apache czy ISS czy cos jeszcze innego, jak mozesz to wynik phpinfo() albo chociaz czy jest safe-mode.
Jak to Shit to masz rozwiazanie problemu, na shicie kilka instrukcji powoduje zwieche albo to Apacha albo nawet calego systemu. Na stronce php.net mozna chyba znalesc jakie to sa instrukcje.

A zobacz chociaz czy dostajesz jakas odpowiedz z serwera jak pojawia sie pusta strona.

Edit: Przypomnialem sobie np declare(ticks=<ile_tykniec>) zawieszalo apacha na shicie, ale nie wiem czy dalej tak sie dzieje bo to juz jakis czas temu bylo.

Offline

 

#3  2007-07-15 17:22:44

  zimzum - Członek DUG

zimzum
Członek DUG
Zarejestrowany: 2006-09-04

Re: PHP + wyjatki (problem z serwerem?)

Przykladowy skrypt, ktory nic nie daje (tzn w przegladarce nic sie nie wyswietla, a 'zrodlo strony' jest puste):

Kod:

<?php

try
{
  throw new Exception('Wystąpił okropny wyjątek', 42);
}
catch (Exception $e)
{
  echo 'Wyjątek ';
}
?>

Wersje oprogramowania:
  apache-2.2.4
  mod_php-5.2.3
  mysql-5.0.41
  System: PLD (Ac) 2.0
  Kernel: Linux 2.6.20.11

Safe mode jest wylaczony.

Serwer chyba nie wypluwa zadnych bledow i tu jest problem. Jesli cos jest w skrypcie zle to dostaje pusta strone. Jakies pomysly?

Edyta:  qrcze, ale lama ze mnie :-) No oczywiscie chodzi o to, ze serwer nie wypluwa bledow i trzeba sobie w skrypcie dodac

Kod:

ini_set('display_errors', '1') 

Offline

 

#4  2007-07-15 17:43:01

  ponury_kostek - Użytkownik

ponury_kostek
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2007-01-02
Serwis

Re: PHP + wyjatki (problem z serwerem?)

Wpisz na poczatku error_reporting(E_ALL);
sprawdz czy serwer wysyla jakiekolwiek naglowki
Jak w ogole odpowiada to powinienes dostac np

Kod:

Date: Sun, 15 Jul 2007 15:42:21 GMT
Server: Apache
X-Powered-By: PHP/4.4.7-pl0-gentoo
Cache-Control: private, pre-check=0, post-check=0, max-age=0
Expires: 0
Pragma: no-cache
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=ISO-8859-2

200 OK

Jak nic takiego nie dostaniesz to znaczy ze scina serwer.

Offline

 

#5  2007-07-15 18:15:48

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: PHP + wyjatki (problem z serwerem?)

Czegoś nie rozumiem, w tym kodzie nie ma błędów. Czemu ma więc pomóc

Kod:

ini_set('display_errors', '1');

czy

Kod:

error_reposting(E_ALL);

?

Offline

 

#6  2007-07-15 18:56:57

  ponury_kostek - Użytkownik

ponury_kostek
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2007-01-02
Serwis

Re: PHP + wyjatki (problem z serwerem?)

Czegoś nie rozumiem, w tym kodzie nie ma błędów. Czemu ma więc pomóc

Kod:

ini_set('display_errors', '1');

czy

Kod:

error_reposting(E_ALL);

?

dispray_errors poprostu wyswietla bledy ale domyslnie bez E_NOTICE, a error_reporting(E_ALL) wyswietla takze E_NOTICE czyli nie wylko errory czy warningi.
Z reszta niech na samym poczatku sprawdzi czy serwer co kolwiek wyzuca (naglowki chociaz) bo ja nic nie wyzuca to nie wazne co ustawi i tak nic nie zobaczy jak serwer sie wywala.

Offline

 

#7  2007-07-17 11:39:41

  zimzum - Członek DUG

zimzum
Członek DUG
Zarejestrowany: 2006-09-04

Re: PHP + wyjatki (problem z serwerem?)

Dzieki za pomoc. To byl problem z wyswietlaniem bledow, wiec dodalem

Kod:

ini_set('display_errors', '1');

oraz

Kod:

error_reposting(E_ALL);

i jest bardzo pieknie. No ale okazalo sie, ze moj kumpel nie dal mi uprawnien do zapisywania zmiennych sesyjnych i moge zapomniec o testach on-line. Niektorzy admini sa nadgorliwi :/

Offline

 

#8  2007-07-18 10:19:32

  ponury_kostek - Użytkownik

ponury_kostek
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2007-01-02
Serwis

Re: PHP + wyjatki (problem z serwerem?)

Sie znaczy ze nie mozesz zapisywac w domyslnym katalogu dla sesji czy w ogole masz wylaczone sesje?
Jesli nie mozesz zapisywac w katalogu to zmien session.save_path na katalog w ktorym mozesz zapisywac, albo uzyj session_save_path().

Jesli masz wylaczona obsluge sesji to mozesz sprobowac wlaczyc ja za pomoca ini_set('disabled_functions', ''); ale jesli to zadziala to raczej Twoj kolega nie jest za ostrozny, bo to wlaczy wszystkie dostepne funkcje (exec, popen itd. a tym juz mozna poszalec komus na serwie :P ).

Offline

 

#9  2007-07-18 19:59:14

  zimzum - Członek DUG

zimzum
Członek DUG
Zarejestrowany: 2006-09-04

Re: PHP + wyjatki (problem z serwerem?)


Jesli nie mozesz zapisywac w katalogu to zmien session.save_path na katalog w ktorym mozesz zapisywac, albo uzyj session_save_path().

Pomoglo. Nawet nie pomyslalem, ze takie cudo moze istniec Eh, my ludzie malej wiary ;-) Ogromne dzieki. Ja widze, ze mamy eksperta od PHP na forum kostek.

Ale pecha i tak mam, bo sie okazuje, ze kumpel nie wkompilowal modulu do MYSQLI. Chyba narazie odpuszcze sobie przepisywanie wszystkiego, bo to troche sporo roboty..

Podobno mozna jakos 'wlaczyc obsluge MYSQLI' z poziomu PHP za pomoca dl(), ale to chyba malo eleganckie i jeszcze nie da konca wiem, jak to zrobic ;-)

Offline

 

#10  2007-07-19 02:25:32

  ponury_kostek - Użytkownik

ponury_kostek
Użytkownik
Skąd: Wałbrzych
Zarejestrowany: 2007-01-02
Serwis

Re: PHP + wyjatki (problem z serwerem?)

Mozna co powlaczac pewne zeczy przy pomocy dl() ale one musza byc jako moduly, jak Twoj kolega nie kompilnol ich to nie masz nawet co probowac bo nie ma mozliwosci dokompilowania czegos z poziomu skryptu, no chyba ze znalazles jakas mila dziure w php :P

Jak nie chce Ci sie wszystkiego przepisywac to napisz sobie clase ktora ma takie same metody i wlasciwosci co mysqli i podmien przy twozeniu, napewno jest to duzo mniej roboty od przepisywania wszystkiego :)

Offline

 

#11  2007-07-22 15:36:03

  zimzum - Członek DUG

zimzum
Członek DUG
Zarejestrowany: 2006-09-04

Re: PHP + wyjatki (problem z serwerem?)


Jak nie chce Ci sie wszystkiego przepisywac to napisz sobie clase ktora ma takie same metody i wlasciwosci co mysqli i podmien przy twozeniu, napewno jest to duzo mniej roboty od przepisywania wszystkiego :)

Swietny pomysl. Czasami najprostsze rozwiazania sa najlepsze :-) Dzieki ogromne za pomoc. Dzisiaj wracam do roboty i mam nadzieje, ze cos z tego wyjdzie ;-)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)