Fórumok
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!
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.
http://www.redphoto.hu
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.
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. ;)
Milyen skriptre gondolsz?
Mert sajnos több oldalal van gond..
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 :)
http://www.redphoto.hu
Hajjajj akkor vissza kell raknom 5.3-at
Ötlet van esetleg erre?
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);
}
}
--
Coding for fun. ;)
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
--
Coding for fun. ;)
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. ;)
Joomla miatt lett frisitve :(
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?
Virtuális gépekkel, minden ügyfélnek igényeinek megfelelő verzióval pl. mindenki boldog. Azonban...
--
Coding for fun. ;)
hát persze :-) és mindezt olcsóbban mint a shared hosting, ugye? :-)
Ez is benne volt a félbehagyott gondolatban. Valamit valamiért. ;)
--
Coding for fun. ;)
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!
Milyen verziójú a Mókusposta? Próbáld meg újabbal.
--
Coding for fun. ;)
1.4.0 verzió van fent.
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. ;)
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…
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);
}