Sziasztok!
Örököltem egy Debian Squeeze szervert amire php 5.3-ró 5.4-re kellet frissitenem.
Ez alapján történt:
https://davejamesmiller.com/blog/installing-php-5-4-on-debian-6-squeeze
A jelenség, hogy a php nem fut le rendesen:
error.log
[Wed Jun 24 07:26:35 2015] [error] [client 87.229.80.89] PHP Notice: Undefined variable: valtozo in /home/oldal.hu/webdownload/oldal_blokkok/menu.php online 44, referer: http://oldal.hu/index.php?valtozo=oldalneve
Előre is köszönöm!
- 6111 megtekintés
Hozzászólások
De lefut, csak a Notice be van kapcsolva a php.ini-ben és dobja a hibát
Meg ahogy nézem, olyat használ az oldal ami nem ajánlott. Url paramétert változóként használ a kódban, ami igen veszélyes tud lenni.
- A hozzászóláshoz be kell jelentkezni
Amit ide írtál hiba, az csak annyit jelent, hogy definiálva a változód. Vagyis nincs kezdőértéke és később sem kap valószínűleg. A probléma a változó értékének átadásának módszerével lehet. $_GET , $_POST körül érdemes nézelődni.
Vagy kiveszed,hogy ne írja a hibát ki az error log beállításoknál a PHP.ini-ben, ha ettől még megy az oldal rendesen.
Valószínűleg régi a kód és a 5.4-nél már komoly változtatások vannak bevezetve.
- A hozzászóláshoz be kell jelentkezni
Gyanítom, hogy az 5.3-ban a register_globals be volt kapcsolva, a $_GET['valtozo']-ra $valtozo-ként hivatkoztál. Mivel 5.4-ben már nincs register_globals, így át kell írnod a szkripted..
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Milyen skriptre gondolsz?
Mert sajnos több oldalal van gond..
- A hozzászóláshoz be kell jelentkezni
Akkor minden olyat át kell írni, ami register_globals-t használ.
Én is ezt akartam írni feljebb, csak nem ugrott be a kifejezés :)
- A hozzászóláshoz be kell jelentkezni
Hajjajj akkor vissza kell raknom 5.3-at
Ötlet van esetleg erre?
- A hozzászóláshoz be kell jelentkezni
Egy olyan helyen, ahol unmaintained kód volt, és 5.4-re kellett frissíteni, a következő kódot futtatom auto_prepend_file-ban:
if (!ini_get('register_globals')) {
$superglobals = array($_SERVER, $_ENV,
$_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobals, $_SESSION);
}
foreach ($superglobals as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
- A hozzászóláshoz be kell jelentkezni
Arra, amelyik a hibát dobja. Mindegy, ezek szerint minden hosztolt weboldalt 5.4 kompatibilissé kell tenni. Nem kis munka lesz... :(
Lépések:
1. állítsd vissza az 5.3-at (legalább addig menjenek az oldalak, amíg az átállás megtörténik)
2. értesíts mindenkit, hogy 5.4-re tértek át, sorold fel nekik az érintett változásokat (safe mode, magic quotes, register globals, register long arrays, mbstring.script_encoding, break, continue, salsa10, salsa20 megszűnnek, isset, empty másképp működnek, mysqli_* aliasok megszűnnek, stb.)
3. vezess naplót az ügyfelek munkájáról
4. amikor mindenki készen áll, snapshot, majd frissítés, és nagy levegő...
5. az apróságokat bereszeled (ha vannak)
6. mindenki örül
- A hozzászóláshoz be kell jelentkezni
Ha a szerveren sok a php szkript, akkor lehet, hogy tökönlövés volt az 5.4-re frissítés (mi indokolta azon túl, hogy frissebb?).
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Joomla miatt lett frisitve :(
- A hozzászóláshoz be kell jelentkezni
troll on.
Nem irigyellek, ez nem szekrény, ez egy egész gardrób szoba csontvázakkal teli.., és ha nem vagy ügyes, előbb utóbb egy zombihadsereg lesz belőle
troll off.
Ehhez kapcsolódó kérdés mindenkihez, hogy lehet ügyesen/hatékonyan/ügyfél barát módon a régi ügyfeleket 'rábírni', hogy x idő után a kódjuk elavult lesz, nem megy új rendszeren, csináljanak vele valamit?
- A hozzászóláshoz be kell jelentkezni
Virtuális gépekkel, minden ügyfélnek igényeinek megfelelő verzióval pl. mindenki boldog. Azonban...
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ez is benne volt a félbehagyott gondolatban. Valamit valamiért. ;)
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Köszönöm a segítséget!
Szerencsére nem volt sok odalal gond, hamar javítottuk.
Egy probléma még mindig van a squirrelmail levelezővel, nem jelenik meg pár levélnél a feladó vagy a tárgy.
link: http://kepfeltoltes.hu/view/150624/1319527387squirrelmail_www.kepfeltol…
Előre is köszönöm a segítséget!
- A hozzászóláshoz be kell jelentkezni
Milyen verziójú a Mókusposta? Próbáld meg újabbal.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
1.4.0 verzió van fent.
- A hozzászóláshoz be kell jelentkezni
Világos. Tessék feltenni az 1.4.22-t, mert ez kompatibilis az 5.4-es php-vel (http://squirrelmail.org)
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
Még mindig nem teljesen jó a karakterek (feladó vagy a tárgyban előfordul):
http://kepfeltoltes.hu/view/150626/squirrelmail1_www.kepfeltoltes.hu_.p…
- A hozzászóláshoz be kell jelentkezni
Megoldást leíróm hátha más is belefut ebbe a hibába:
/functions/strings.php fájlban át kell írni a következő képpen:
if (check_php_version(5, 2, 3))
return htmlspecialchars($string, $flags, $encoding, $double_encode);
if (check_php_version(5, 2, 3)) {
return htmlspecialchars($string, ENT_COMPAT|ENT_HTML401, 'ISO-8859-1', $double_encode);
//return htmlspecialchars($string, $flags, $encoding, $double_encode);
}
return htmlspecialchars($string, $flags, $encoding);
}
- A hozzászóláshoz be kell jelentkezni