Javítása és hibakeresés php-alkalmazások syslog

Programozás - unalmas, de ugyanakkor szórakoztató. Az egyik érdekes szempontokat vizsgálja új módon lehet használni a régi eszközöket. Nemrég felvették hibát talál egy nagy és összetett LAMP-rendszer (Linux, Apache, MySQL és Linux, Apache, MySQL, PHP / Perl) - Content Management System (Content-Management System - CMS). CMS architektúra egy szabványos LAMP-modell az Enterprise Red Hat Linux Apache V2.0. A web-oldalak kód állt több száz PHP-modulok szórt 30 alkönyvtárairól Apache document root. Az Apache és a MySQL változásokat nem szükséges, hogy minden igyekezetem arra összpontosított PHP.

Kiadások sok időt tanulásra a CMS és értékelni a kegyelem, rájöttem, hogy a legérettebb szoftver környezet, a rendszer csak egy kis számú rendelkezésre álló PHP-funkciók (ahol a labda van zárva árnyéka a régi 80/20 szabály - 80% -át a munkát a 20% a rendelkezésre álló lehetőségek). Ez a cikk bemutatja, hogy a folyamat hibakeresés egy ismeretlen komplex rendszer segíti tudni a kevéssé használt funkciók, valamint példák alkalmazásának új tudást használni syslog () függvény gazdag képességeit.

a mikroszkóp alatt

Hibakeresés, valamint programozás, részben tudomány, részben ismertek. Keresi a finom hibák a rendszerben létrehozott nem te, akkor szükség van egy nagy ösztön, hogy megtalálják azokat a kódot. Kezelése több száz modult, indokolt lenne, hogy kezdje a hely, ahol a hiba történt, és tegye hátramenetbe mozgás kimeneti adatokra a problémát.

Például, feltételezzük, hogy a számított érték, amely származik rossz. Meg kell fejleszteni valamilyen módon, hogy a köztes értékeket, ami a problémát. A másik probléma akkor fordulhat elő, ha a helytelen adatok miatt fontos adatbázis lekérdezés. Meg kell tudni, hogy a generált SQL-kimutatás által biztosított MySQL-motor kód, hogy ha a probléma okát itt.

Egy jól ismert módszer az, hogy helyezze kód, amely egyszerűen kiírja ezeket húrok és értékeit. Sajnos, szerszámokkal, mint a PHP, vagy bármilyen webes alkalmazások alom természetes kimeneti rendszer adatai (azaz HTML-kódot küld a böngészőnek) debug információ, különösen akkor, ha a vizsgált rendszer fut szerver.

Új tudás és javítva készségek, elkezded látni a különböző módon csinál valamit, és néhány közülük nyilvánvalóvá válnak a probléma megoldásában. De mindig szem előtt tartani, hogy ami nyilvánvaló neked nem nyilvánvaló másoknak. Valami, ami csak az Ön számára, nem lehet megvalósítani a sok bajt másoknak.

Használata syslog () funkció lehetővé teszi, hogy átvegye az irányítást a komplexitás és a járulékos előnye - ideális beállításokat konfigurációs fájlok, például syslog.conf. Például szúrhat kód formázásához az SQL-kimutatás, írd be a syslog (), és öntsük a MySQL végrehajtásra. Ezután egy kismértékű módosítását syslog.conf file elküldi a szöveget egy másik naplófájl vagy talán csak kicsit vödör. Hetek vagy hónapok múlva, ha ismét szükség, hogy mi történt, még egy egyszerű változás a syslog.conf file visszaállítás funkciót.

A UNIX világban syslog gazdag és színes története. Úgy tervezték eredetileg részeként Sendmail projekt syslog bizonyult annyira hasznos, hogy a funkcionalitás sok egyéb eszközöket is; így bebizonyosodott, hogy néha a legegyszerűbb ötletek a legerősebb.

Röviden, a syslog lehetővé teszi az alkalmazások levelet kijelölt levélre egy közös rendszer naplók tárolható, ahol a legkényelmesebb a programozók és a hálózati rendszergazdák számára. Ez például azt jelenti, beállíthatja a syslog webszerveré rögzítésére a rendszer üzenetet egy másik szerverre, amely lehet több szinten mélyebb (tűzfalak), és könnyebb hozzáférést. De én célokra egészen az alapértelmezett viselkedés a rögzített fájlt a / var / log.

syslog mechanizmus váltja ki a kezdeti induló programot, és annak eredeti viselkedés meghatározott szabályok syslog.conf fájlban. Ezek a szabályok lehetővé teszik, hogy pontosan milyen lehet és mit nem lehet leírni mechanizmus - ez lehetővé teszi, hogy a nagy terhelés a szerveren, hogy az elfogadható méret a log fájlokat.

Minden szabály két mezőből áll: a kiválasztó (választó) és a tevékenységek (akció). Selector jelzi, hogy mely üzenetek kerülnek rögzítésre (például a nucleus felhasználó, Mail, nyomtató), valamint a prioritást. A prioritás mező kulcsszavak, mint például hibakeresés (debug), info (információ), nyilatkozat (bejelentési) vagy figyelmeztetés (figyelmeztetés). művelet mező határozza meg, hogy mi a teendő az üzenetekkel tartalomnak megfelelő a szelektor. A szabályzat meghatározhatja a fájlt, hogy rögzítse az üzeneteket, küldje el a felvett üzenetek mechanizmusát, küldj egy üzenetet (formájában konzol üzenetek), stb

adatok rögzítésére

Tájékozódjon és syslog menedzsment beállítani a rendszert a saját követelményei szerint. Az én esetemben, szükséges volt, hogy tudja az értékeket a különböző változók PHP-különböző futási CMS. Ezen kívül azt is tudni, hogy hol a különböző modulok, valamint az értékek a különböző közbülső változókat indult, majd megállt. Mielőtt a konkrét részletek, nézzük beállításaihoz.

1. listán test.php

Most nyissa meg az X-terminál ablakot és írja be a következő parancsot, hogy mi van írva a / var / log / messages:

Ha minden jól megy, a végén a lista, meg kell látni a következő sort:

Ha igen, hogy - finom. Biztos, hogy van, amire szükség van a részletes hibák komplex rendszer, és akkor lehet folytatni.

hogy rekord

Most, hogy ellenőrizte, hogy az adatok rögzítésére működik, és láthatjuk a munkájának eredményeit, adok néhány tippet, hogyan kell rövidíteni a folyamat tanulmányozása egy ismeretlen rendszer gyorsan kezdik használni az eszközt adatokat.

Fontos tudni, hogy melyik modulok tenni valamit azon túl mi van írva a dokumentumokat. Így szeretek írni üzenete, hogy jelölje meg a kezdet és a vég modulokat. Így játszható oldalak web-site figyeljük további X-terminál ablakot, ahol a parancs tail -f / var / log / messages. Látni fogja, hogy mely modulok kerülnek végrehajtásra, és milyen sorrendben minden alkalommal a böngésző kéri egy új oldalt.

Én is szeretném felvenni a határok között, a különböző programok, okozott a végrehajtás a PHP-kódot. Például, ha a kérelmek a MySQL nevezett külső programok vagy módosítása adatformátum (Extensible Stylesheet Language Transformation (XSLT) mechanizmusok, például). Az a gyakorlat, rendszeres elhelyezése töréspontok a kód minden egyes modul segítségével megszokja a nevét és helyét a modulokat. Ugyanakkor, ha a kód üzeneteket küld a megjelenítendő további X-terminál, akkor megtekintheti a különböző oldalakon, így van egy fontos visszajelzés, amely megkönnyíti és elmélyíti a megértést a rendszer.

következtetés

syslog eszközt - egy hatékony eszköz a hibakeresés alkalmazások, amelyek nem írt neked. Ez lehetővé teszi, hogy tartsa mely modulok és az SQL-nyilatkozatok kerülnek végrehajtásra, és az érték minden változó megváltozik, amikor elmész weboldalán. Ez segít kijelölni a modulok, melyek valószínűleg problémákat.

Letölthető Resources

Kapcsolódó témák