Autor Zpráva
RastyAmateur
Profil
Zdravím,

dostal jsem se ke kódu poměrně komplexní, aktuálně běžící, aplikace, abych ji trošku poupravil. Jenže v kódu se nepoužívají uvozovky u klíčů v přístupu v poli. Přistupuje se k nim takto: $_SERVER[SERVER_NAME]. Kód na serveru normálně běží a jde to, ovšem mně na localu to hlásí, že nemám definovanou konstantu SERVER_NAME, což mi sice dává rozum, ale nechápu, proč to tedy na prudukčním serveru normálně běží.

Má první myšlenka byla ve verzi PHP, ale oba máme stejnou.

Dá se to tedy někde nějak nastavit?

Děkuji, RA
juriad
Profil
RastyAmateur:
Na produkci budou jen vypnuté hlášky (dává to smysl i vůči uživateli). Ono to bude fungovat i tobě na lokálu. Není to špatně, je to jen nebezpečné a křehké řešení.
RastyAmateur
Profil
juriad:
Ajo, děkuji. Nevšiml jsem si pod tím dlouhatánských výpisem chyb ten output dole...
Keeehi
Profil
RastyAmateur:
Dá se to tedy někde nějak nastavit?
Spíš by bylo lepší to opravit.

To, proč to vůbec funguje je kvůli tomu, že když PHP vidí nedefinovanou konstantu, tak vyhodí hlášku a vrátí jako hodnotu string s jejím jménem. Což je přesně ten klíč pole.

Až do minulého týdne všechny verze vyhazovali Notice hlášku. Nejnovější PHP 7.2.0 už však vyhazuje Warning s tím, že další verze už prý bude vyhazovat Error. Až se to stane, přestane ten script fungovat. Navíc, oprava není nic složitého. Stačí kolem všech takových konstant nabouchat uvozovky nebo apostrofy.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0