On 04/12/10 09:40, Lubomir Majersky:
Po upgrejde PHP z verzie 5.2.12 na 5.3.2 sa deje nasledovne:
u jedneho servera mi vsetko slape, jedine z phpMyAdminom mam problem v
tom, ze po prihlaseni sa, vidim prazdnu stranku...
u dalsieho servera mi nenabehne apac (core dumped)
a u dalsieho servera mi pri spustani apaca cez 'apachectl graceful'

Pro programy je obecne smrtelne, pokud program A pri sve cinnosti pouziva dynamicke knihovny L1 a L2 pro ktere plati, ze jak L1 tak L2 pouzivaji knihovnu se jmenem L3 - jenze - pri prekladu byl L1 prelozen proti jine verzi ci modifikaci knihovny L3 nez L2.

PHP je konglomerat desitek ruznych modulu zalozenych na desitkach knihoven a prostoru k vyse uvedenemu je tam hodne.

Typickym kandidatem byva knihovna libcrypto - ktera muze pochazet bud' ze zakladniho systemu, nebo z portu a problem nastane pokud je L2 prelozena proti libcrypto ze systemu a L2 proti libcrypto z portu, nicmene, problem muze nastat i v pripade, ze jak L1 tak L2 jsou obe prelozeny proti libcrypto z portu - kazda ale proti jine verzi.

Dalsi oblibeny zdroj nekonzistenci je klientska knihovna od MySQL ci jine databaze - zase - dva moduly prelozene proti jinym verzim databazoveho engine.

Ve vyctu knihoven bych mohl pokracovat prakticky donekonecna.


Typickym zdrojem nekonzistence je "nekonzistentni spravce", ktery cast packages je instalovuje z nejakeho externiho zdroje, cast z jineho a/nebo prelozena vlastnimi silami z portu. Nekdy ale muzes instalovat i ze stejneho zdroje - ovsem - s casovym odstupem.

Pri upgradech neuskodi cise /usr/ports/UPDATING - pokdu je problem nekonzistence u konkretniho update dopredu znam, byva tam popsan, ale ne vzdy je dopredu znam - kombinaci nejruznejsich nainstalovanych modulu je proste prilis mnoho.

Muzes zkusit pulenim intervalu hledat ktere moduly je potreba v PHP zablokovat aby problem zmizel - a pokud je najdes, tak preinstalovat jen ty. Ale to je, zaprve, zdlouhave, za druhe, objevis tim jen ty problemy, ktere se projevuji dostatecne tragicky uz pri startu Apache a/nebo PHP. Ve skutecnosti se ale problemu mohou objevit jen pri pouziti nejake konkretni PHP funkce a co hur, problemy nemusi mit podobu "spadnuti", ale proste to jen nebude fungovat dobre.

Takze je mozna lepsi tenhle pokus o napravu uplne preskocit a rovnou postoupit k nasledujicimu - a tim je kompletni reinstalace vsech nainstalovanych portu - a to i tech, u kterych nedoslo ke zmene verze. Dulezite je, aby vsechno co budes instalovat pochazelo z jednoho zdroje - bud' si to vsechno sam preloz, pouzijes li externi prelozene balicky, tak vsechny z jednoho zdroje.

                                        Dan
--
FreeBSD mailing list (users-l@freebsd.cz)
http://www.freebsd.cz/listserv/listinfo/users-l

Odpovedet emailem