Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Buforowanie wyjścia w konsoli
Forum PHP.pl > Forum > PHP
phpion
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
erix
A nie wystarczyłoby
  1. file_get_contents('php://stdout');

?
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.