2015-09-23 25 views
9

Ustawiliśmy Weblogic, aby móc uruchomić PHP, ten link był używany jako przewodnik http://archive.oreilly.com/cs/user/view/cs_msg/25690. Możemy z powodzeniem używać PHP, choć tylko 5.3.9.Błędy z PHP & Weblogic Server

Jedną z rzeczy, z którą mam problem jest wyświetlanie wszystkich błędów PHP. Gdy błędy PHP w niektórych przypadkach to właśnie pokazuje błąd serwera:

Error 500--Internal Server Error From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 10.5.1 500 Internal Server Error The server encountered an unexpected condition which prevented it from fulfilling the request.

Mam lokalną wersję PHP (5.6.4) z tego samego phpinfo() i wyjść na display_errors => STDOUT => STDOUTerror_reporting => 32767 => 32767 i wyświetli błędy.

Szybki przykład błędów, które nie zostaną wyświetlone, oznacza, że ​​otrzymałem błędną nazwę funkcji lub błędnie sformułowano konstrukt językowy, taki jak echo, otrzymam błąd serwera, a nie parse error: message: line.

Nigdy wcześniej nie używałem PHP na weblogic, więc nie jestem pewien, co to jest problem lub jak to naprawić?

+0

@HPierce Sprawdziliśmy logi i to po prostu mówi błąd PHP – Jonnny

+0

Yikes! Całkowicie udowodniłem, że się mylę. PHP _will_ produkuje 500 błędów, gdy raportowanie błędów jest całkowicie wyłączone. Wyobrażam sobie, że już spojrzałeś na [to pytanie] (http://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display)? Podczas gdy błędy nie były zgłaszane, okazało się, że błędy były rejestrowane w moim php error.log (co może być lepszym miejscem do ich wyświetlania podczas pracy na twoim serwerze produkcyjnym). – HPierce

+1

@HPierce Nie miałem, ale zrobiłem po prostu dwukrotnie sprawdź odpowiedź i spróbuj ją wdrożyć. Bez zmiany. Nie miałem php_errors.log w mojej konfiguracji, więc zrobiłem je kilka dni temu, jest puste – Jonnny

Odpowiedz

5

Jonnny, czy na pewno nie było poprzedniej konfiguracji error_log w pliku php.ini?

Zrobiłem instalację testową 5.3.9 i otrzymałem C:\WINDOWS\temp\php-errors.log Co mówi phpinfo() dla dyrektyw error_log i log_errors?

Jeśli chcesz analizować błędy zostać zwrócone do przeglądarki (poprzez standardowe wyjście), a następnie wartość error_log musi być pusta lub po prostu zapewnić error_log nie jest ustawiony w dowolnym miejscu

To była moja domyślna php.ini i gdy sprawdziłem log, który działał, w tym błędy analizy.

log_errors=On 
error_log="C:\WINDOWS\temp\php-errors.log" 
+0

BTW Jonnny, czy używasz pliku php.exe lub pliku php-cgi.exe? –

+0

Nie, nie było wcześniej żadnego protokołu błędów. Szukałem też jednego w plikach tymczasowych, ponieważ jest tam, gdzie powinno być, ale nie było. Próbowałem wspomnianych zmian, aby zobaczyć generowanie dziennika lub wysyłanie do przeglądarki i nie było takiego szczęścia. Z linku w moim pytaniu wydaje się być php jako rozszerzeniem cgi. Widzę plik php.exe w folderze podstawowym – Jonnny

+0

Ok, jeśli jest to php.exe, powinieneś być w stanie stworzyć testowy plik PHP i uruchomić z wiersza cmd 'php.exe test.php'. Dodaj błąd i sprawdź, czy coś wyprowadza lub rejestruje. –