Futó php script segítségével cron

A PHP script segítségével cron. Ha nem ilyen egyértelmű -4

  • 08.04.15 08:57 •
  • SAlex_S •
  • • # 255245
  • • Habrahabr
  • 6 •
  • 2637

- mint a Forbes, csak jobb.

Futó php script segítségével cron

Az első esetben


nincs megadva az alapértelmezett elérési utat az operációs rendszer beállításait. Ennek következtében a következő parancsot cron sikertelen lesz.


A parancs helyes lenne a második lehetőség, amit írnak a teljes elérési utat a PHP értelmező.


Számos módja van, hogy futtatni php script itt leírtak szerint. Érdekes az, hogy a php script fut, mint egy parancs fájl konzolt, majd írhat egy egész felhő parancsok és leírni mindenféle lehetőség minden ízét. A kód így néz ki.


A program fut a cron előírt útvonalát script csak. # Karakterek kerülnek a forgatókönyvet. majd csak írni a szükséges parancsokat bash.

második esetben


A szkript végrehajtása kérésére a böngésző arra a következtetésre vezet az oldalt a böngészőben. De amikor a forgatókönyvet cron arra a következtetésre vezet oldalas szöveg a parancssorban. Lehet, hogy több lehetőséget. A rendszer beállítható úgy, hogy fenntartsák kimenet az eredményeket a konzol fájlként. Sőt, ez a fájl nem keverjük a tipikus helyen. Fokozatosan, ez a pontszám az összes helyet a lemezen. Gyakran előfordul, hogy egy honlap ad az 1 GB-os, 500 MB. És még hosting találkozott 50 és 10 megabájt az oldalon.

A megoldás olyan régi, mint a világ. Meg kell csinálni egy átirányítást kiadási konzolról a semmiben. Ez úgy történik, úgy, hogy a parancsot, hogy a végén a csapat koronát.


Néha hosting adminisztrátorok vállalnak kötelezettséget, óvatosan tegye őket felhasználónként. Itt is lehet egy buktató.

Az ügy a harmadik


A helyzet egyszerű. Meg kell hibakeresés a forgatókönyvet, fut az ütemező. Meg lehet próbálni csinálni útján php, forgatókönyvíró hogy lógia stb De van egy sokkal egyszerűbb, meg kell, hogy irányítsa át a kimenetet egy fájlba. A csapat egyszerű, opcionális paraméter a csapatot:


Hozzá kell tenni, a végén a csapat:


A jel „>” azt átirányítani kimeneti rendszer. Következő fájl nevét. Ebben az esetben a teljes elérési út. Ez a példa nem nehéz megtalálni az interneten. De akkor mi várhat a bajt eredő második esetben. Gondoskodó tárhelyszolgáltatóval automatikusan hozzáad egy átirányítási végén a sorban. És néha maszkokat. Az eredmény egy olyan parancsot:


Ennek eredményeként, a kimenet visszairányítunk a semmibe, és a kimeneti fájl üres lesz. Itt adhatja meg a befogadó számára az ő hibája, hogy ő is outwitted beállításokat. És ha csak használni egy mankó. A parancs után átirányítás fájlba teljes parancs szimbólumok . Ez a két karakter használják a parancssorban, hogy egyesítsen parancsokat egy sorba. Adnak a parancssorba, hogy látni, hogy a csapat újra és akkor jön a következő parancsot. Neki és használt átirányítás űrbe. Ennek eredményeként, és átirányítja az ürességbe bal és a naplófájl kerül-e. Példa parancs:

Az ügy a negyedik


A szkript elindul, de nem működnek megfelelően. Az ok - a PHP értelmező parancssorból elkezd dolgozni megfelelően konfigurált környezetben eltér attól, amelyet volna, ha végig a HTTP-kiszolgáló. Az első jele - a szkript nem találja a fájlokat, amelyek vele azonos könyvtárban, és elkezdi tartotta magát található a gyökérkönyvtárban a felhasználó, ami több mint egy mappa magasabb, mint a gyökér a helyszínen. Az első dolog, hogy ellenőrizze - a környezeti változók és szuper globális tömböt $ _SERVER.

Az első dolog, hogy megtalálja az interneten ebben a kérdésben - a tanács, hogy előírja a koronát a parancsot változás könyvtárban:


De bizonyos esetekben ez nem segít. Van egy módja. Egyikük, hogy mindent a saját kezébe, és állítsa be a hiányzó környezet a forgatókönyvet. Információ róla az interneten több mint.

Néha egyszerűen elég belépni a következő kódot az elején a forgatókönyvet, és az út ismét lesz dolgozók.


Mint látható, minden pontosan meghatározza a funkciók és beállítások nem kell bajlódnia.

következtetés


Ez minden. Problémák és megoldások nem triviális, és még egy kombinációja sikertelen konfiguráció ritka. Sok szerencsét a telepítését a projektek és eltávolítását.

Kétségtelenül. Mindez megtalálható a dokumentációban.

De amikor egy konkrét példát, ott csökken sokkal több lehetőséget. Amely attól függően, gépkonfigurációs kritikus lehet, vagy nem. Én autodidakta módon tanult programozási és programozási stílusában „copy paste”. Mozog az egyik fogadó másik arra kényszerítette, hogy ideges, és olvasni egy csomó szakirodalom.

Az anyag hasznos lesz azoknak, akik már ír php, de nem megy be a Linux és a befogadó jellegét rajta.

$ Path_parts = pathinfo ($ _ SERVER [ 'SCRIPT_FILENAME']); // meghatározza a script könyvtárban
chdir ($ path_parts [ 'dirname']); // a könyvtárat a script Vannak kényelmes mágikus konstansok. különösen __FILE__ és __DIR__