Yürütme SIRASINDA PHP script çıktı yönlendirmek için?

4 Cevap php

Bir yürütme PHP komut çıktısını yönlendirmek için bir yolu var mı?

Komut satırı üzerinden komut başlatırken tabii ki bu saçmadır. Ama nasıl bu after betik başladığında yapılır?

Note: Ben sözdizimi hataları ve bu as well yakalamak gerekir.

4 Cevap

Eğer ayrıştırıcı hataları yakalamak istiyorsanız, yapmanız gerekenler:

  1. Emin olun display_errors olan On

  2. Bir error_prepend_string ayarlayın ve bir error_append_string

  3. ob_start yürütülmesini olabilir her PHP dosyası önce çalışan bir auto_prepend dosyasından diyoruz.

  4. set_error_handler normalde yaptığınız gibi kullanın, ve geri arama özel error_prepend_string ve error_append_string arıyor, adlı çıkış tampon aracılığıyla elemek yapmak. Bulursanız bunu istediğiniz yere, sonra çıktı şant. Bunu yapmazsanız, o zaman normalde yere gidelim.

Bu çoğu ini_set görüşmeleri yoluyla elde edilebilir, ancak auto_prepend dosya php.ini belirtilen gerekir.

Sen PHP'nin output control hatta bir komut satırı komut dosyası kullanabilirsiniz:

echo "123\n";
ob_start();
echo "456\n";
$s = ob_get_contents();
ob_end_clean();
echo "*$s";

STDERR sözdizimi hataları çıktısı değil STDOUT. Ayrıca pipline de STDERR yönlendirmek emin olun ...

./myscript | myfile.php &> out.txt

PHP bir dosyaya yazmak için dosya i / o işlevleri vardır.

http://www.php.net/manual/en/function.fopen.php
http://www.php.net/manual/en/function.fwrite.php