PHP apt forrás és aláírás frissítése
https://packages.sury.org/php/README.txt
https://packages.sury.org/php/README.txt
Ha olvasod a blogom korábbi bejegyzéseit, tudhatod, hogy nem vagyok híve a vegyünk minden hónapban egy erősebb szervert, ha valami webes szolgáltatás kezd kifogyni az erőforrásokból. Ahogy sokszor hangoztatom azt is, hogy nem a PHP lassú, hanem az, ami kiszolgálja: a legtöbb esetben az adatbázis válaszideje.
Meglehetősen barátságtalanul van megoldva a PHP7 frissítése, nem is értem, hogy miért kellett így megcsinálni, talán a shared hostingok és a lusta fejlesztők/megbízók miatt. A PHP7 esetén nem frissül automatikusan ha újabbat kérünk tőle, hanem telepít a régi mellé egy újabb változatot. Természetesen a konfigokat sem hozza át. Én szeretek a legújabb stabil dolgokkal foglalkozni és kerülöm azt, hogy mindegyik kódom alatt verziókezelni kelljen a dolgokat. Igen, tudom nem vagyok [….]
Én nem vagyok rajongója annak, hogy Windows alatt futtassunk PHP-MySQL kombinációt. Hisz’ eleve sokkal több erőforrást adunk oda az operációs rendszernek, mint Linux alatt. Nincs meg a fájlrendszerrel való finomhangolás lehetősége sem, valamint az IIS és én sohasem leszünk barátok. Egy projekt alkalmával arra lettem figyelmes, hogy ugyanaz a kód fényévekkel gyorsabban fut Linux alatt, mint Windows alatt, egy egyszerűen semmi logikus magyarázat nem volt rá. Nos a problémát a [….]
A fejlesztők 2 fajtája nem foglalkozik az adatbázis lekérdezések sebességével több kapcsolódó adatnál: a kezdők és a profik. A kezdők lekérdezik az alap adatokat, majd egy foreach()-en belül futatják le a kapcsolódó adatok lekérdezését: foreach ( $products as $product ) { $db->query( „SELECT id, thumbnail, url FROM product_images WHERE product_id = :product_id” ); } A profik is ez csinálják, csak sokkal csillibb kivitelben. Először csinálnak egy Image class-t. Majd egy [….]
Kereső-optimalizálás és betöltési sebesség szempontból a szépen strukturált HTML forráskód rossz. De nem mindig engedhetjük meg azt a luxust, hogy tartunk mindenből egy fejlesztői – könnyen olvasható és kezelhető – változatot és egy tömörítettet. Ilyenkor segíthet ezen a linken található hasznos megoldás: http://php.net/manual/en/function.ob-start.php#71953
Annak ellenére, hogy a JSON nagyon hódít – nyilvánvaló okok miatt, még mindig nagyon sokan használnak XML formátumokat. Többek között ilyen az RSS feed is, de az egyik legerősebb marketinggel rendelkező bérelhető webshop API-ja is, a ShopRenteré. XML-el dolgozni viszont rémálom a JSON-höz képest. Így hát felmerült a probléma, hogy valami egyszerű megoldás kellene, ahelyett, hogy minden XML-t végignézek.
Mindig jó, ha nem kell új nyelvet tanulni, csak azért, mert az ismert scriptnyelv (PHP) szövegfeldolgozásra való 🙂 A PiPHP: https://github.com/PiPHP/GPIO és egy építési példa: https://www.sitepoint.com/powering-raspberry-pi-projects-with-php/
A mai napon arra lettem figyelmes, hogy az eddig gond nélkül futó PHP-es scriptek arra panaszkodnak, hogy nincs mb_strlen() függvény. Azt hittem, hogy átsiklottam a changelog „megszűnt függvények” részénél az mb_ kezdetű függvények felett, de kiderült, hogy csak külön csomagba pakolták, ahogy anno a JSON-t is. Szóval a megoldás: apt-get install php7.0-mbstring Érdemes lesz odafigyelni a későbbiekben…
Nem vagyok kibékülve az indiánnal, mert hihetetlenül zabálja a memóriát. Plusz olyan default beállításai vannak, amik utat nyitnak a hackeléseknek. Továbbá a .htaccess fájlok miatt sok esetben biztonsági kockázatot is jelent. Nginx párti vagyok, még ha csak Google alapján konfigolom is. Egyre többször találkozom azzal az igénnyel, hogy Apache-ra írt oldalnak kellene működnie nginx alatt. A Winginx oldala a legnépszerűbb ilyen online konverter, de nekem sohasem volt jó, amit dobott. [….]
A minap a segítségem kérték, mert egy szerver spammelt, letiltották és azonosítani kellett a baj forrását. Kiderült, hogy feltörtek rajta egy WordPress blogot, és ezzel elég nagy bajt okoztak, ugyanis a WordPress PHP-ja hozzáfért egyéb könyvtárakhoz is, amiben más PHP oldalak futottak. Első alkalommal valószínűleg egy kép plugin hibát kihasználva base64-ben kódolva feljutott pár PHP fájl. Általában a szokásos dolgokra voltak kihegyezve: teljes adatbázis leképezés, amihez a WordPress felhasználója hozzáfér [….]
Sok esetben előfordult már, hogy szükségem volt egy elem láthatóságának 2 állapota közötti váltogatásra. Igazi amatőr módon eddig vizsgálgattam, hogy látható-e és ha igen, akkor el kell rejteni és fordítva. Na, ettől jóval egyszerűbb a megoldás: UPDATE table SET field = 1 – field forrás: http://stackoverflow.com/questions/603835/mysql-simple-way-to-toggle-a-value-of-an-int-field
Már az elején lelövöm a poént: Ha a PHP saját XML DOM parserét használod, biztosan kevesebb hajad marad a nap végére. A SimpleXML sajnos kevés ehhez, de a csodafegyver itt van: http://simplehtmldom.sourceforge.net/manual.htm . Történt ugyanis, hogy HTML sablon alaján kell PDF-et generálnom. A sablonban táblázatok vannak formázva ( na itt bukott el a PHP XML DOM osztály, mert piszok kacifántos vele xHTML-t manipulálni ), aminek a formázását meg kellene őrizni, hisz’ [….]
Azt ügye tudjuk, hogy a PHP-ben automatikus típuskonverzió van, amire oda kellene figyelni. A PHP-ban a számok ábrázolására 2 típus áll rendelkezésre (+boolean): – (signed) integer – (signed) float Ezek minden esetben előjellel vannak ellátva, így az integer típusban maximum 2^63 érték tárolható egy 64 bites rendszeren, 64 bites PHP-val. Viszont! A MySQL-ben rendelkezésre áll az előjel nélküli változat, az unsigned bigint, ami ugyanezen körülmények között 2^64 tud ábrázolni, előjel [….]