Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Buforowanie wyjścia w konsoli, Przechwytywanie błędów.
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam,
czy jest możliwość przechwycenia błędów poprzez buforowanie wyjścia w konsoli?

Korzystam z klasy, która buforuje wyjście metodą:
  1. /**
  2. * Uruchamia przechwytywanie błędów.
  3. *
  4. * @param string $input Buffor aktualnie wyświetlanej strony.
  5. * @return string Dane z buffora lub strona błędu.
  6. */
  7. public function run($input) {
  8. //if (php_sapi_name() != 'cli') {
  9. if (preg_match('|<'.self::TAG.'>.*</'.self::TAG.'>|s', $input)) {
  10. preg_match_all('|<'.self::TAG.'>.*<b>([A-z ]*)</b>: (.*) in <b>(.*)</b> on line <b>(.*)</b>.*</'.self::TAG.'>|sU', $input, $matches);
  11.  
  12. for ($i=0, $count=count($matches[1]); $i<$count; $i++) {
  13. $this->add_error(new Error($matches[1][$i], $matches[2][$i], $matches[3][$i], $matches[4][$i]));
  14. }
  15.  
  16. return $this->error_page();
  17. }
  18. else {
  19. return $input;
  20. }
  21. //}
  22. }

Wywołując jakiś błędny kod z poziomu przeglądarki błędy ładnie są dodawane ($this->add_error) i wyświetlane w metodzie $this->error_page(), natomiast gdy ten sam skrypt uruchomię z linii poleceń to również uzyskam stronę błędu, ale bez żadnych wychwyconych błędów.

Czy jest sposób na to aby i w konsoli dobrać się do powstałych błędów?

Pozdrawiam,
pion
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie wystarczyłoby
  1. file_get_contents('php://stdout');

?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:53