PHP Weekly - 131.
A Zend szokásos heti hírlevelének 131. számából:
Mi a PHP 5? - Sterling Hughes egy brilliáns beszédet tartott a múlt heti New Yorki PHP konferencián, amelyben áttekintést nyújt a közelgő PHP 5 legérdekesebb újdonságairól. Az előadás a következő témákat fedte le:
A beszéd hanganyaga is meghallgatható, két részben: 1, 2.
A szálbiztos mód (thread safety) teljesítménye - Wojtek Meler küldött a listára néhány sebességtesztet, amelyeket a szálbiztos móddal kapcsolatban végzett. A mérések alapján a frissen telpített PHP thread safe módban kb. 5 százalékkal lassabban fut, mint egyébként. Zeev Suraski válaszában nem csak arról biztosította a listát, hogy ez az eredmény eléggé optimális, hanem hogy sokat javult a korábbi mérésekhez képest. Habár valószínűleg lehetséges lenne további optimalizálás a kódon, amely jobb eredményt hozhatna, nem biztos, hogy ez a kód komplexitása miatt megérné a marginális sebességnövekedést.
Nem szálbiztos kiegészítők - Arra a feltételezésre alapozva, hogy nagyszámú felhasználó használja (vagy legalábbis próbálja használni) a PHP-t az Apache2 kiszolgálón, David Hill egy rövid vitát kezdeményezett arra vonatkozóan, hogy miként lehetne a legjobban jelölni az új Apache verzióval szálbiztos (thread-safe) módban használható kiegészítőket és könyvtárakat. Mivel egyelőre még a szálbiztos könyvtárból van kevesebb, David továbblépve azt is javasolta, hogy a PHP Thread Safety mechanizmusába kerüljön bele valamilyen zárolási módszer, amely (elméletileg) lehetővé tenné bármely könyvtár (akár szálbiztos, akár nem) meghívását a szálbiztos környezetben, minimális teljesítménycsökkenés mellett. A javasolt változtatások összetettsége miatt azonban nem valószínű, hogy a PHP 5-nél korábban fogunk valami hasonlóval találkozni.
ICU kiegészítő - a múlt heti hírlevélben megemlített ICU kiegészítőnek saját honlapja is van már.
Időzónaváltozások a Tru64 platform miatt - David Hill 64 bites platformokon történő tesztelése alatt talált egy gondot a Tru64 platform időzóna-kezelésében. Úgy tűnik, hogy a PHP által használt GMT és EST referenciák nem szabványosak, habár szinte minden másik UNIX-szerű platform elfogadja őket.
Tehát a PHP5 a kijavított kódokat (GMT0 és EST5) tartalmazza majd, ennek eredményeként pedig bármely platformon megfelelően működnek majd az időzónák.
Az Apache 2 gyorsítása - Egy bizonyos Ilia A. mutatott be néhány változást az új Apache2 SAPIn. Egyes felesleges műveletek átugrásával Ilia a régebbi kód teljesítményét szinte megkétszerezte. A folton egyelőre még dolgoznak, de azok, akik nem tudnak várni a hamarosan érkező 4.3.2-re, itt már letölthetik.
socket_iovec_alloc segfault - Ezen a héten a Mordred Labs nevű biztonságtechnikai csoport figyelmeztetett egy lehetséges biztonsági lyukra a socket_iovec_alloc függvénnyel kapcsolatban. A gond csak a sockets kiegészítőt fordító felhasználókat érinti, hiszen az alapértelmezésként nem települ a PHP-vel. A javítást a közelgő 4.3.2 kiadás tartalmazza majd.
Beágyazott névterek - Andrei Zmievski bizonyos "furcsa" viselkedésre lett figyelmes a PHP 5 / Zend Engine 2 kettős jelenlegi alpha állapotú változataiban. Úgy tűnik, hogy jelenleg a beágyazott névtereket a kód csak szintaktikailag támogatja, progamozásilag nem. Andrei példája rámutatott, hogy a beágyazott névterek globálisan regisztrálódnak - míg a legtöbb fejlesztő szerint nem ennek kellene lenni a kívánt eredménynek. Egyelőre még nem jutottak végleges következtetésre, tehát később fog eldőlni, mennyire befolyásolja majd ez a végleges PHP 5-öt. A párbeszéd folytatásával minden következtetésről beszámolunk majd itt a hírlevélben is.
255 fájl hiba Solaris alatt - Wez Furlong felhívta a fejlesztők figyelmét az egyik legutolsó kritikus hibára: a Solaris libc megvalósítása nem tud fopen()-nel több, mint 255 fájlt megnyitni. A hosszas párbeszéd eredményeként (amelyben több alternatív megoldást is javasoltak a résztvevők), a legértelmesebbnek jelenleg az tűnik, hogy minden kódot, amellyel a PHP dolgozik (Apache, könyvtárak, stb) újra kell fordítani a SFIO használatával. Ám ez a megoldás nem működik a Solaris 9 platformon.
■ Mi a PHP 5? - Sterling Hughes egy brilliáns beszédet tartott a múlt heti New Yorki PHP konferencián, amelyben áttekintést nyújt a közelgő PHP 5 legérdekesebb újdonságairól. Az előadás a következő témákat fedte le:
- kitatarozott belsőségek
- névterek
- kivételkezelés
- valós objektumorientáltság
- javított streams API
- SPL
- ADT (absztrakt adattípusok) kiegészítő
- RPC kiegészítő
- Mono kiegészítő
- csomagolt cURL könyvtár
A beszéd hanganyaga is meghallgatható, két részben: 1, 2.
A szálbiztos mód (thread safety) teljesítménye - Wojtek Meler küldött a listára néhány sebességtesztet, amelyeket a szálbiztos móddal kapcsolatban végzett. A mérések alapján a frissen telpített PHP thread safe módban kb. 5 százalékkal lassabban fut, mint egyébként. Zeev Suraski válaszában nem csak arról biztosította a listát, hogy ez az eredmény eléggé optimális, hanem hogy sokat javult a korábbi mérésekhez képest. Habár valószínűleg lehetséges lenne további optimalizálás a kódon, amely jobb eredményt hozhatna, nem biztos, hogy ez a kód komplexitása miatt megérné a marginális sebességnövekedést.
Nem szálbiztos kiegészítők - Arra a feltételezésre alapozva, hogy nagyszámú felhasználó használja (vagy legalábbis próbálja használni) a PHP-t az Apache2 kiszolgálón, David Hill egy rövid vitát kezdeményezett arra vonatkozóan, hogy miként lehetne a legjobban jelölni az új Apache verzióval szálbiztos (thread-safe) módban használható kiegészítőket és könyvtárakat. Mivel egyelőre még a szálbiztos könyvtárból van kevesebb, David továbblépve azt is javasolta, hogy a PHP Thread Safety mechanizmusába kerüljön bele valamilyen zárolási módszer, amely (elméletileg) lehetővé tenné bármely könyvtár (akár szálbiztos, akár nem) meghívását a szálbiztos környezetben, minimális teljesítménycsökkenés mellett. A javasolt változtatások összetettsége miatt azonban nem valószínű, hogy a PHP 5-nél korábban fogunk valami hasonlóval találkozni.
ICU kiegészítő - a múlt heti hírlevélben megemlített ICU kiegészítőnek saját honlapja is van már.
Időzónaváltozások a Tru64 platform miatt - David Hill 64 bites platformokon történő tesztelése alatt talált egy gondot a Tru64 platform időzóna-kezelésében. Úgy tűnik, hogy a PHP által használt GMT és EST referenciák nem szabványosak, habár szinte minden másik UNIX-szerű platform elfogadja őket.
Tehát a PHP5 a kijavított kódokat (GMT0 és EST5) tartalmazza majd, ennek eredményeként pedig bármely platformon megfelelően működnek majd az időzónák.
Az Apache 2 gyorsítása - Egy bizonyos Ilia A. mutatott be néhány változást az új Apache2 SAPIn. Egyes felesleges műveletek átugrásával Ilia a régebbi kód teljesítményét szinte megkétszerezte. A folton egyelőre még dolgoznak, de azok, akik nem tudnak várni a hamarosan érkező 4.3.2-re, itt már letölthetik.
socket_iovec_alloc segfault - Ezen a héten a Mordred Labs nevű biztonságtechnikai csoport figyelmeztetett egy lehetséges biztonsági lyukra a socket_iovec_alloc függvénnyel kapcsolatban. A gond csak a sockets kiegészítőt fordító felhasználókat érinti, hiszen az alapértelmezésként nem települ a PHP-vel. A javítást a közelgő 4.3.2 kiadás tartalmazza majd.
Beágyazott névterek - Andrei Zmievski bizonyos "furcsa" viselkedésre lett figyelmes a PHP 5 / Zend Engine 2 kettős jelenlegi alpha állapotú változataiban. Úgy tűnik, hogy jelenleg a beágyazott névtereket a kód csak szintaktikailag támogatja, progamozásilag nem. Andrei példája rámutatott, hogy a beágyazott névterek globálisan regisztrálódnak - míg a legtöbb fejlesztő szerint nem ennek kellene lenni a kívánt eredménynek. Egyelőre még nem jutottak végleges következtetésre, tehát később fog eldőlni, mennyire befolyásolja majd ez a végleges PHP 5-öt. A párbeszéd folytatásával minden következtetésről beszámolunk majd itt a hírlevélben is.
255 fájl hiba Solaris alatt - Wez Furlong felhívta a fejlesztők figyelmét az egyik legutolsó kritikus hibára: a Solaris libc megvalósítása nem tud fopen()-nel több, mint 255 fájlt megnyitni. A hosszas párbeszéd eredményeként (amelyben több alternatív megoldást is javasoltak a résztvevők), a legértelmesebbnek jelenleg az tűnik, hogy minden kódot, amellyel a PHP dolgozik (Apache, könyvtárak, stb) újra kell fordítani a SFIO használatával. Ám ez a megoldás nem működik a Solaris 9 platformon.