Portál AbcLinuxu, 12. května 2025 06:05

Dotaz: Divne chovani php

27.9.2010 09:45 Mr.S1lent.cz
Divne chovani php
Přečteno: 368×
Odpovědět | Admin
Zdravim, ted jsem rozjel apache2 server na ubuntu 10.04 a dva dny jsem resil nefungujici php5, respektive jsem se domnival, ze nefunguje. Ale opak byl pravdou - v apache error.logu jsem nasel tohle:

"[Mon Sep 27 03:09:50 2010] [error] [client 127.0.0.1] PHP Parse error: syntax error, unexpected T_STRING, expecting '(' in /home/s1lent/Dokumenty/Work/Sklub/index.php on line 20"

Coz je ale trosku divne, kdyz jsem schvalne na zacatek index.php projektu dal die, cili vypada nejak takto: <?php die("here");... A ja mel za to, ze ma die snad ukoncit beh scriptu, nebo ne? :-) A to nehlede na to, jak blbe je tam nastaven pripadny defaultni error_reporting...

Jinak z phpinfo: error_reporting 22527 22527 PHP Version 5.3.2-1ubuntu4.5

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.9.2010 09:57 chrono
Rozbalit Rozbalit vše Re: Divne chovani php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Predpokladám, že Php sa najskôr pokúsi spracovať celý súbor, takže chyby v syntaxe budú vadiť vždy. To die na začiatku pomôže len pri chybách, ktoré nastanú až počas behu (napr neexistujúci súbor, ktorý sa pokúšaš použiť cez require...).
27.9.2010 10:13 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Divne chovani php
No u starsich verzi php to tak nebylo, nebo aspon jsem to nezaregistroval...
27.9.2010 10:30 R
Rozbalit Rozbalit vše Re: Divne chovani php
Tak to muselo byt dost davno. Uz od verzie 4 sa skript kompiluje (a tym padom sa skontroluje syntax celeho suboru).
danaketh avatar 27.9.2010 15:18 danaketh | skóre: 6 | blog: Sick Mind | Praha
Rozbalit Rozbalit vše Re: Divne chovani php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chová se normálně. Skript se ukončí ale před tím se zkontroluje syntaxe. Nastav si error_reporting na E_ALL a zapni display_errors. Dobrý je napsat si nějakej objekt nebo alespoň funkci a zaregistrovat jí jako vlastní error handler a s její pomocí pak zachytávat úplně všechno (třeba jako Laděnka v Nette) a dělat si vlastní výpis i logování.
27.9.2010 20:15 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Divne chovani php
Uplne na zacatek index.php jsem nastavil error_reporting na E_ALL a display_errors v ini_set na 1 a stale nic... Fakt koukam...
Jendа avatar 27.9.2010 20:21 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Divne chovani php
Nedělá to konfigurační volba display_errors?
; Print out errors (as a part of the output).  For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below).  Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
;
; possible values for display_errors:
;
; Off        - Do not display any errors
; stderr     - Display errors to STDERR (affects only CGI/CLI binaries!)
;
;display_errors = "stderr"
;
; stdout (On) - Display errors to STDOUT
;
display_errors = On
27.9.2010 20:31 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Divne chovani php
Jak jsem psal, nastaveni display_errors nepomohlo :-)
Jendа avatar 27.9.2010 21:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Divne chovani php
Podle mě to musíš nastavit ještě před pokusem o vykonání toho souboru, protože na něm ten parser chcípne (když se nevykoná ani to die()). A nevím, jestli funguje 1, jestli tam nemusí být On.
27.9.2010 20:39 voda | skóre: 28
Rozbalit Rozbalit vše Re: Divne chovani php
Nastavit to až v index.php nepomůže, protože k syntax erroru dojde ještě dřív, než se stihne toto nastavení vykonat. Takže buď do php.ini nebo přes .htaccess.
27.9.2010 20:49 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Divne chovani php
Odpovědět | | Sbalit | Link | Blokovat | Admin
v .htaccess mam tohle: php_value display_errors 1 php_value display_startup_errors 1

jinak na php.net jsem nasel priklad primo z prostredi php scriptu :-)
Řešení 1× (MMMMMMMMM)
27.9.2010 21:14 Mr.S1lent.cz
Rozbalit Rozbalit vše Re: Divne chovani php
Tak uz jsem to vyresil, mel jsem v hostovi nastaveno AllowOverride None, tak mi nejel htaccess, po nastaveni na All uz mam display_errors na On a vse jede jak ma :-)
danaketh avatar 27.9.2010 23:01 danaketh | skóre: 6 | blog: Sick Mind | Praha
Rozbalit Rozbalit vše Re: Divne chovani php
Vidíš, kdybych se líp podíval... Tohle jsem řešil včera celou noc než jsem si vzpomněl na AllowOverride :D

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.