Autor Zpráva
Radim24
Profil *
Ahoj,
hledal jsem nějakou skupinu kde se píše o servrech, ale nic jsem nenašel. Ještě než jsem přeinstaloval Apache, měl jsem nastavený konfigurák tak, že mi potlačoval chyby typu Undefinated offset, Undefinated variable ... teď to řeším pomocí @ v kódu php, ale prosil bych tu direktivu na potlačení těchto chybových zpráv.
Dík
Alphard
Profil
mýlíte se, nejde o direktivu Apache, ale nastavení php.ini, konkrétně error_reporting
teď to řeším pomocí @ v kódu php
jak myslíte, o psaní kódu bez chyb jste neuvažoval? (ty chyby myslím do posledního písmene, ačkoliv cílem je potlačit "jen" notice a možná warning, @ zakáže vše)
Radim24
Profil *
Jsem hlava děravá, jasně, že to musí být php... Ale já vím, že bych měl dodržovat určité postupy jako napsat $n=0; před cyklem for, jenže pro mě je přehlednější to tam prostě nedávat a do cyklu dát @$n++; Oni ty skripty už tak jsou dost dlouhé... Dík za radu.
Joker
Profil
Radim24
Ale já vím, že bych měl dodržovat určité postupy jako napsat $n=0; před cyklem for
Proměnná se inicializuje přímo ve for-cyklu:
for($n=0; $n<neco; $n++)

Každopádně jestli před cyklem neinicializujete proměnnou, to si dost koledujete... ale řekl bych, že léčba je snadná, stačí tak čtyřhodinové zoufalé hledání naprosto "náhodně a nelogicky" se projevující chyby, aby se z toho vyklubalo, že se někde udělá jiný počet cyklů než čekáte, protože shodou okolností se o 200 řádků výše do proměnné stejného jména přiřadila nějaká hodnota :-)
Radim24
Profil *
Jde zde spíše o jiné uplatnění proměnné, spíše něco ve smyslu $i zde:

for($n=0; $n<neco; $n++) :

if (... ) $i++;

endfor;

apod.
Radim24
Profil *
direktiva E_WARNING ani E_NOTICE nepomáhá k potlačení hlášek neiniciovaných proměnných


; By default, PHP surpresses errors of type E_NOTICE. These error messages
; are emitted for non-critical errors, but that could be a symptom of a bigger
; problem. Most notably, this will cause error messages about the use
; of uninitialized variables to be displayed.

tak čím to potlačit?
Alphard
Profil
v php.ini by mělo být
error_reporting = E_ALL & ~E_NOTICE
Radim24
Profil *
mám to aktivované, ale 68dn8 ym2na se neprojevila :-(
Přitom jsem si v phpversion()
ověřil pozici php.ini (pod windows)
Radim24
Profil *
-žádná změna-

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0