Quyruq shamolini ushlash yoki PHP skriptini qanday ishga tushirish. PHP da interaktiv konsol ilovasi

Men darhol shuni ta'kidlaymanki, ushbu maqolada muhokama qilinadigan barcha narsalar faqat Unix-ga o'xshash operatsion tizimlar uchun amal qiladi va Windows ostida ishlamaydi. Aynan shu narsa haqida gapiramiz kronaga muqobil. Omadsiz Windows ixlosmandlari bilan sehrlash kerak bo'ladi "Vazifalarni rejalashtiruvchi"- Black Magic ular uchun mavjud bo'lib qoladi :) Bundan tashqari, sizga ssh-ga kirish kerak bo'ladi va ideal holda, buyruq satriga php skriptiga kirish kerak bo'ladi.

Demon dasturi nima va PHP da demonni qanday yozish kerak

Daemon(daemon, dæmon, qadimgi yunon xudosi) - kompyuter dasturi UNIX-sinf tizimlarida, tizimning o'zi tomonidan ishga tushirilgan va ishlaydi fon to'g'ridan-to'g'ri foydalanuvchi shovqinisiz. Demonlar odatda tizimni yuklash vaqtida boshlanadi.

PHP uchun qo'llaniladigan skript bo'lib, u o'z-o'zidan, to'xtamasdan va foydalanuvchining o'zaro ta'sirisiz ishlashi mumkin. Bunday skriptni qanday olish mumkin? Aslida, bu juda oddiy, siz maktabda ular o'rgatadigan dasturlashning birinchi qoidalaridan birini buzishingiz kerak va cheksiz tsikl yarating:

// Dastur doimiy ishlashi uchun u doimiy ishlashi kerak;) while(1) ( // Daemon kodi shu yerda joylashgan bo'ladi // ... // Daemonning takrorlashlar orasidagi uyqu vaqti (ehtiyojlariga bog'liq). tizim) uyqu (1);

Mumkin bo'lmagan oddiy kod hali ham bir nechta savollarni tug'diradi. Uni qanday ishga tushirish kerak? Uning bajarilishini qanday kuzatish mumkin? Uni qanday to'xtatish kerak?

PHP demonini qanday boshlash kerak

PHP skriptlarini umuman qanday ishga tushirasiz? Agar bu veb-ilova bo'lsa, u holda brauzer va veb-serverdan foydalaning. Ammo bu variant mos emas, chunki biz cheksiz skript bilan shug'ullanamiz va skriptlarni bajarish vaqti direktiva bilan cheklangan maksimal_bajarish_vaqti V php.ini. Shuning uchun, cheksiz skriptni konsol orqali ishga tushirish kerak, chunki u holda maksimal bajarilish vaqti hisobga olinmaydi. Demonni ishga tushirish buyrug'i quyidagicha ko'rinadi:

Php -f /path/to/your/daemon.php &

Uni qo'lda ishga tushirish uchun uni ssh terminaliga (shpaty, WinSCP va boshqalar) kiritishingiz kerak va uni tizim yuklashda ishga tushirish uchun - mos keladigan ishga tushirish fayliga (faylning joylashuvi va nomi bog'liq) operatsion tizim). Iltimos, ushbu konsolga e'tibor bering demon skripti fonda ishlaydi, foydalanuvchini uning tugashini kutishga jalb qilmasdan (axir, skript cheksizdir). Bu jarayonni fonda ishga tushirish qobiliyatidir, shuning uchun men ta'riflayotgan usul Windows serverlari uchun mos emas. Ishga tushgandan so'ng, konsol ko'rinishi kerak jarayon identifikatori bizning demonimiz, PID deb ataladi.

Jinlarni kuzatish va to'xtatish

Tizimdagi jarayonlar ro'yxatini ochish orqali demon jarayoni ishlayotganligini tekshirishingiz mumkin:

PS-aux

Jarayonlar ro'yxatida demonni topish oson, ham ishga tushirish buyrug'i, ham PID orqali:

FOYDALANUVCHI PID %CPU %MEM VSZ RSS TTY STAT BOSHLASH VAQTI BUYRUQ ... root 22193 0,1 0,2 393180 72132 ? 24 aprel 5:05 php -f /path/to/your/daemon.php &

Demon jarayonini to'xtating Siz buni boshqa har qanday jarayon kabi qilishingiz mumkin:

Xxxxni o'ldiring

Berilgan misolda xxxx - bu PID, jarayon identifikatori.

Shuni ta'kidlash kerakki, bu to'xtash emas, balki demon jarayonini "o'ldirish". Gap shundaki, skript istalgan joyda to'xtatiladi, bu har doim ham hamma uchun mos emas. Nazariy jihatdan, bu holda demonni konsoldan emas, balki uning iteratsiyalari orasida bir joyda to'xtatish kerak. Misol uchun, biz ma'lumotlar bazasida yoki serverdagi ba'zi faylda skriptni to'xtatish uchun so'rov yaratishimiz va demonning takrorlanishi orasida bunday so'rov mavjudligini tekshirishimiz mumkin. Agar ariza topilsa, tsiklni break iborasi bilan to'xtating.

Jinlarni boshqarish tizimi

Agar bir vaqtning o'zida bir nechta demonlarni yaratish va kuzatish kerak bo'lsa-chi? Masalan, yuqorida aytib o'tilgan CheckTrust xizmatida 30 dan ortiq bunday skriptlar foydalanuvchi ma'lumotlari va loyihalarini qayta ishlashda ishtirok etadi. Ularni konsoldan yaratish va nazorat qilish juda noqulay - foydalanuvchilarga qulayroq interfeys kerak.

Ajoyib, ha? :) Faqat yaratish uchun to'g'ri shunga o'xshash tizim php dan buyruq qatoriga kirish yaxshi bo'lardi. Har bir demon ma'lumotlar bazasidagi yozuv bo'lib, unga qarshi siz uni ishga tushirish buyrug'ini, shuningdek, jarayonning PID kodini kiritishingiz mumkin. Shunday qilib, demonlarning holatini to'g'ridan-to'g'ri veb-interfeysdan boshlash, to'xtatish va kuzatish mumkin bo'ladi. Natijada, demonlarning o'zlari konsol ilovasining bir qismi bo'lib chiqdi va ularni boshqarish tizimi veb-ilovaning bir qismiga aylandi.

Yuqorida ko'rsatilgan tizim faqat CheckTrust uchun mo'ljallanganligi sababli, men uning kodini ko'rsatmayman. Lekin kodni shu yerga ko'chiraman jarayonlarni boshqarish uchun php klassi, men uni yaratishda foydalanganman:

<?php /* * Process.php * Tashqi jarayonlarni kuzatishning oson usuli. * Hech qachon PHP-da jarayonni amalga oshirishni xohlaganmisiz, lekin siz hali ham jarayonni biroz nazorat qilishni xohlaysizmi? Xo'sh.. Bu buni qilishning bir usuli. * @muvofiqlik: faqat Linux. (Windows ishlamaydi). * @author: Peec */ class Process( private $pid; private $command; public function __construct($cl=false)( if ($cl != false)( $this->command = $cl; $this-> runCom(); ) ) xususiy funksiya runCom())( $command = "nohup ".$this->buyruq." > /dev/null 2>&1 & echo $!"; exec($command,$op); $ this->pid = (int)$op; ) umumiy funktsiya setPid($pid)( $this->pid = $pid; ) umumiy funksiya getPid())( $this->pid; ) umumiy funksiya holati( ))( $command = "ps -p ".$this->pid; agar (!isset($op))false qaytariladi; aks holda true qaytariladi; this->command != "")$this->runCom() ; else return true ( $command = "kill ".$this->pid; exec($command); if ($ this->status() == false)return; else return false;

Bu sinfning yagona kamchiligi shundaki, men siznikini allaqachon tasvirlab berganman - u o'ldirish usulidan foydalangan holda jarayonlarni to'xtatadi, ammo bu men uchun hozircha etarli :) Va bu erda foydalanishga misol:

// Demonni ishga tushiring va PIDni oling (agar ishga tushirilgandan keyin pid biror joyda saqlangan bo'lsa) $command = ""; $process = new Process($command); $processId = $process->getPid(); // Demon holatini tekshirish $process = new Process(); $process->setPid($processId); $status = $process->status(); // rost yoki yolg'onni qaytaradi // Demonni to'xtatish $process = new Process(); $process->setPid($processId); $to'xtatildi = $process->stop(); // rost yoki yolg'onni qaytaradi

Xulosa qilib aytadigan bo'lsak, shuni aytmoqchimanki, bu PHP da demonlarning yagona mumkin bo'lgan va, ehtimol, eng maqbul amalga oshirilishi emas. Masalan, ko'p jarayonli demonlar uchun ajoyib PHP kengaytmasi PCNTL mavjud. Ba'zilar hatto konsol ilovalari uchun mutlaqo boshqa dasturlash tillari mavjudligini aytishlari mumkin. Ammo, kim nima deyishidan qat'i nazar, bu amalga oshirishni inkor etib bo'lmaydi afzalliklari:

  • U oddiy shippak kabi. Jin - bu cheksiz halqa, ancha sodda.
  • U veb-ilovalar bilan mos keladi- veb-xizmatning bir qismi bo'lgan holda, mening demonlarim mavjud ishlanmalarga tayanadi, bir xil ma'lumotlar modellari, sinflari va ular bilan ishlash usullaridan foydalanadi.
  • U ishlaydi! Jiddiy aytganda, bizda bir necha oydan beri ba'zi demonlar ishlamoqda va yaxshi yozilgan bo'lsa, ahmoq bo'lmang, muzlamang yoki xotirani iste'mol qilmang.

E'tiboringiz uchun tashakkur :) Agar kimdirda biron bir savol yoki fikr bo'lsa, men ularga sharhlarda javob berishdan xursand bo'laman.

PHP Internetdagi eng mashhur dasturlash tillaridan biridir. Uning mashhurligi, birinchi navbatda, o'rganish qulayligi va ko'p qirraliligi bilan bog'liq. Ammo uni qo'llash doirasi faqat oddiy veb-sahifalarni yaratish bilan tugamaydi. PHP skriptlarini ishga tushirish mumkin buyruq qatori, bu sizga to'liq huquqli konsol ilovalarini yozish imkonini beradi.

Buyruqlar qatoridan PHP skriptini qanday ishga tushirish kerak?

Foydalanadigan operatsion tizimingizdan qat'i nazar, skriptni ishga tushirish uchun konsolda quyidagi buyruqni kiritishingiz kerak:

Php script.php

Sizning operatsion tizimingiz php buyrug'i unga noma'lum bo'lgan xabarni ko'rsatishi mumkin. Bunday holda va agar siz PHP tarjimonining o'zi to'g'ri o'rnatilganligiga ishonchingiz komil bo'lsa, skriptni ishga tushirishda tarjimonga to'liq yo'lni ko'rsatish yordam beradi.

C:\php\php.exe script.php

UNIX-ga o'xshash tizimlar uchun:

/usr/bin/php script.php

E'tibor bering, tizimingizdagi PHP tarjimoniga yo'l boshqacha bo'lishi mumkin, shuning uchun buni ham hisobga olish kerak. Masalan, mashhur WampServer to'plami foydalanuvchilari uchun yo'l quyidagicha bo'lishi mumkin:

C: \ wamp \ bin \ php \ php5.3.8 \ php.exe

Nihoyat, har safar toʻliq yoʻlni kiritmaslik uchun tarjimonga yoʻlni operatsion tizimingizning PATH muhit oʻzgaruvchisiga qoʻshishingiz kerak.

Biz server javob kodini tekshirish uchun oddiy skript yozyapmiz

Skriptning xususiyatlarini buyruq satridan ko'rsatish uchun biz qabul qiladigan oddiy dastur yozamiz matn fayli havolalar bilan va ushbu havolalarning har biri uchun server javob kodini tekshiring. Bundan tashqari, biz bir vaqtning o'zida bu qanday amalga oshirilishini o'rganish uchun kerakli faylni interaktiv ravishda tanlash imkoniyatini beramiz.

Ishga tushgandan so'ng, skript fayllar jildidan *.txt kengaytmali barcha fayllarni tanlaydi. Keyin u ushbu ro'yxatni foydalanuvchiga raqam => name formatida ko'rsatadi va foydalanuvchi qiziqtirgan fayl raqamini kiritishini kutadi.

Barcha fayllarni niqob bilan olish oson, buning uchun biz standart glob funksiyasidan foydalanamiz, ammo konsoldan ma'lumotlarni o'qish biroz qiziqroq. Gap shundaki, buyruq satridan skriptni ishga tushirgandan so'ng, unda uchta standart oqim ochiladi: chiqish (STDOUT), kiritish (STDIN) va xatolar (STDERR). Ushbu oqimlarga ko'rsatgichlar skriptda bir xil nomdagi konstantalar ko'rinishida mavjud va siz ular bilan, masalan, oddiy fayllar bilan ishlashingiz mumkin. Shunday qilib, konsoldan ma'lumotlarni o'qish uchun kirish oqimidan chiziqni o'qing: fgets(STDIN) .

$files = glob("files/*.txt"); $files or exit("Tekshirish uchun fayl yo'q.".PHP_EOL); echo "Jilddagi fayllar: ".count($files).PHP_EOL; foreach ($fayllar $index => $name) ( echo "[($index)] => ($name)".PHP_EOL; ) echo "Faylni tanlang: "; $tanlov = intval(fgets(STDIN));

Foydalanuvchi o'z tanlovini amalga oshirgandan va tanlovning to'g'riligini tekshirgandan so'ng, biz faylni o'qish uchun ochishimiz mumkin.

Array_key_exists($choice, $files) yoki exit("Noto'g'ri fayl tanlangan.".PHP_EOL); $fayl = $files[$choice]; echo "($file) faylga ishlov berilmoqda...".PHP_EOL; $start_time = microtime(to'g'ri); $code_stats = massiv(); $f = fopen($fayl, "r");

while siklidan foydalanib, biz fayldagi barcha satrlarni takrorlashni boshlaymiz. Satrlar toʻgʻri URL manzillar boʻlishi kerak, aks holda biz toʻgʻri server javob kodini aniqlay olmaymiz. Biz har bir manzil uchun sarlavhalarni olamiz standart funksiya get_headers va javob kodi odatda sarlavhaning birinchi qatorida bo'ladi.

Holbuki ($url = trim(fgets($f))) ( $headers = get_headers($url); if (is_array($headers)) ( array_key_exists($headers, $code_stats) yoki $code_stats[$headers] = 0 ; $code_stats[$headers]++; echo date("H:i:s")." URL uchun "($headers)" "($url)".PHP_EOL) else ( array_key_exists("Noma'lum ", $code_stats) yoki $code_stats["Noma'lum"] = 0; $code_stats["Noma'lum"]++; echo date("H:i:s")." PHP_EOL bilan bog'liq muammo. ) ) fclose($f);

Natijada, faylni qayta ishlagandan so'ng, ishlov berish qancha davom etganligi va qanday javob kodlari va necha marta duch kelganligi haqida kichik statistik ma'lumotlarni ko'rsatishingiz mumkin.

$o'tgan_vaqt = davra(mikrovaqt(to'g'ri) - $start_time, 3); echo "Fayl ($o'tgan_vaqt) soniyada qayta ishlandi".PHP_EOL; echo "Kod statistikasi:".PHP_EOL; print_r($code_stats);

Bunday dasturning natijasi, masalan, quyidagi chiqish bo'lishi mumkin:

$ php check.php Jilddagi fayllar: 1 => files/db.txt Faylni tanlang: 0 "files/db.txt" fayliga ishlov berilmoqda... 18:33:43 URL uchun HTTP kodi "HTTP/1.0 200 OK" "http://mail.ru/" 18:33:45 "http://yandex.ru/" url uchun HTTP kodi "HTTP/1.1 301 Doimiy ko'chirildi" 18:33:46 HTTP kodi "HTTP/1.1 302 Ko'chirildi" Vaqtinchalik" url uchun "http://rambler.ru/" 18:33:47 HTTP kodi "HTTP/1.0 301 Doimiy ko'chirildi" url uchun "http://google.ru/" Fayl 5.558s da ishlangan Kod statistikasi: Massiv ( => 1 => 1 => 1 => 1)

xulosalar

Hammasi shu, PHPda oddiy va interaktiv konsol ilovasi tayyor. Men mutlaqo keraksiz dastur yozishni xohlamadim, shuning uchun bu skript nafaqat o'rganish, balki foydalanish uchun ham mos keladi. Misol uchun, agar siz sayt xaritasini matnli faylga saqlasangiz, skript aniqlashga yordam beradi mumkin bo'lgan xatolar havolalar bilan va agar siz uni biroz o'zgartirsangiz, u hatto qaysi biri ekanligini ko'rsatadi :).

Ilovaning o'zi yuklab olinishi mumkin.

Hammaga salom. Bugun men yangi bo'limda yozishni boshlayman - PHP! Asosan, bu erda ushbu tilning asoslari va asoslari bo'ladi. Va birinchi navbatda, men sizga brauzerda PHP faylini qanday ochishni aytaman?

Nima uchun php html kabi ochilmaydi?

Gap shundaki: php bu server tomonidagi til. Html va JavaScript mijoz tomonidir. Shunga ko'ra, PHP kodini bajarish uchun serverni ishga tushirish kerak, faqat shu holatda faylni ochish mumkin. Aslida, faqat 2 yo'l bor:

  1. PHP bilan tajriba o'tkazadigan haqiqiy xostingda veb-sayt yarating
  2. Mahalliy server yarating, unda siz kompyuteringizda cheksiz miqdordagi veb-saytlarni bepul yaratishingiz va o'zingizning xohishingiz bilan tajriba o'tkazishingiz mumkin.

Va men sizga ikkinchi variantni qat'iy maslahat beraman. Shunga ko'ra, PHP fayllarni ochishni boshlashdan oldin, bunday serverni o'rnatishingiz kerak. Buni qiyin deb o'ylamang - buni bir necha daqiqada qilishingiz mumkin. uchun eng mashhur mahalliy serverlardan Windows Men quyidagilarni ta'kidlashim mumkin:

  1. OpenServer
  2. Denver
  3. Xammp

Shaxsan men faqat Denver bilan ishlaganman. Men uning o'rnatilishi haqida alohida yozishim mumkin edi, lekin men ishlab chiquvchilarning rasmiy hujjatlaridan yaxshiroq narsa bo'lishi mumkin emas deb qaror qildim. Shu munosabat bilan, bu erda. Boshqa serverlarni o'rnatish haqida Internetda ko'plab maqolalar va videolarni topishingiz mumkin.

Serverni o'rnatgandan so'ng PHP faylni qanday ochish mumkin?

Server o'rnatilganmi? Ajoyib, endi sizda PHP fayllarni ishga tushirish uchun hamma narsa bor. Aslida, buning uchun mahalliy serveringiz ishlayotgan bo'lishi kerak. Bu ish stolida bo'lishi kerak bo'lgan yorliq:

Endi siz uchun yangi veb-sayt yaratishingiz kerak mahalliy server. Shunga qaramay, men buni faqat Denverda qanday qilishni ko'rsataman. Keling, boraylik ildiz papkasi server, bu erda biz papkani topamiz uy. U barcha saytlaringizni o'z ichiga oladi. Siz yangi papka yaratishingiz kerak, uning nomi yangi saytning nomi bo'ladi. Yaratilgan papkada siz papka yaratishingiz kerak www, busiz hech narsa ishlamaydi. Oxirgi qadam www papkasiga kerakli PHP fayllarni (ochilishi kerak bo'lgan) tashlashdir. Bu saytning ildizidir.

PHP-fayllarni ochish usuli html-ni ochishdan farq qiladi. Siz ularni to'g'ridan-to'g'ri brauzerda ocholmaysiz, bu holda siz faqat kodni ko'rasiz. Faylni ochish uchun siz u joylashgan saytni, shuningdek, saytdagi faylga yo'lni ro'yxatdan o'tkazishingiz kerak. Shuni ta'kidlashni istardimki, agar siz shunchaki sayt nomini kiritsangiz (http://siz, lekin qiyshiq chiziq bilan), agar mavjud bo'lsa, server index.php ni ishga tushiradi.

Misol:
Mahalliy serverda www bilan phptest papkasini yaratdim va keyin uni unga yukladim kerakli fayllar. Ajoyib, endi siz Denverni ishga tushirgan bo'lsangiz, uni qayta ishga tushirishingiz kerak. Agar yo'q bo'lsa, shunchaki ishga tushiring. Endi brauzer qatoriga yozishingiz kerak: phptest/

Shunday qilib, siz erishasiz bosh sahifa sayt. Bu fayl index.php deb nomlanishi kerak. Masalan, men php da kalkulyator yaratdim, uni calc.php deb nomlangan phptestga qo'ydim. Men ushbu fayldan oldin manzilni yozaman:

Ajoyib, kalkulyator ochildi. Siz dasturni sinab ko'rishingiz mumkin.

Qanday qilib php-ni ochmaslik kerak?

Buni html fayllari kabi qilish shart emas. Ya'ni, orqali emas "Ochish uchun""Brauzer". Shunday qilib, siz faqat faylning manba kodini ko'rasiz, lekin hech qanday holatda uning bajarilishi natijasi.

Hammasi shu, biz php faylni brauzerda qanday ochishni aniqladik. Mahalliy serverni bir marta o'rnatish va sozlash kifoya va kelajakda siz ushbu o'lchamdagi fayllarni hech qanday muammosiz ochishingiz mumkin. Bugun menda bor narsa shu. Umid qilamanki, hammasi siz uchun chiqdi. Ko'rishguncha.

Muallifdan: Agar siz hech qachon uçurtma uchgan bo'lsangiz, bu unchalik oson emasligini bilasiz, garchi tashqaridan buning aksi ko'rinadi. Darhaqiqat, arqonni o'z vaqtida tortib olish yoki havo "to'lqinini" ushlash uchun siz bunga ko'nikishingiz kerak. Bugun men sizga PHP skriptini qanday ishga tushirishni va u nafaqat ishlashi, balki "uchishi" uchun qanday "torlar" ni tortish kerakligini aytib beraman!

Xususiyatlarni ishga tushirish

Bir necha marta aytib o'tilganidek, bu server tomonidagi dasturlash tilidir, shuning uchun uning kodi natijasini brauzerda ko'rsatish biroz qiyinroq bo'ladi. Buning uchun fayl to'g'ridan-to'g'ri server maydonida joylashgan bo'lishi kerak. PHP bilan ishlash uchun ikkita turdagi serverlar qo'llaniladi:

Muntazam (masofaviy) - hoster tomonidan taqdim etiladi.

Mahalliy - mijoz mashinasiga o'rnatilgan.

Xosting tomonida skript natijasini ko'rish uchun brauzer qatoriga quyidagi formatdagi manzilni kiriting: your_site.ru/file_name.php

Mahalliy serverda narsalar boshqacha. PHP skriptini brauzerda ishga tushirishdan oldin, keling, ushbu xususiyatlarni bilib olaylik.
Amaldagi serverga qarab, siz teradigan manzil farq qilishi mumkin. Ko'pincha, "bizning" mintaqamizda Apache bilan turli xil tuzilmalar qo'llaniladi, ulardan Denver eng keng tarqalgan.

Denverda skriptni ishga tushirish

Apache tuzilmalarida barcha skriptlar localhost-da ishga tushiriladi. Buni amalda ko'rsatish uchun keling, bir nechtasini yarataylik qiziqarli misol. Mana uning kodi:



< html >

< head >

< meta http - equiv = "refresh" content = "1" >

< / head >

< body >

< time style = "font-size:36px;color:rgb(102,255,102)"> < / time >

< / body >

< / html >

Ushbu kodni PHP fayliga joylashtiring va uni mahalliy serverni ishga tushirgandan so'ng yaratilgan virtual diskda saqlang. Men uchun bu test2.php fayli.

Rasmning yuqori qismida yaratilgan faylni joylashtirishingiz kerak bo'lgan yo'l ko'rsatilgan. Denverni o'rnatishda boshqa virtual disk nomini ko'rsatgan bo'lsangiz, bu yo'l siz uchun biroz farq qilishi mumkin.

Endi PHP skriptini kompyuterda qanday ishga tushirishni aniqlaymiz. Buning uchun brauzerda manzilni quyidagi formatda ko'rsatishingiz kerak: localhost/file_name.php

Biz azob chekishni boshlaymiz

Ehtimol, bu bo'lim uchun juda zerikarli nomdir, lekin men faylni buyruq satri orqali ochmagunimcha biroz kurashdim. Kompyuter tizimini ishga tushirishga urinayotganda, u quyidagi xatolarni keltirib chiqardi:

Bu g'alati, chunki eslatib o'tilgan kutubxonalar mening tashqi papkamda edi. Ma'lum bo'lishicha, butun nuqta php.ini konfiguratsiya faylida noto'g'ri ko'rsatilgan yo'llarda.

Unda siz "Yo'llar va kataloglar" bo'limini topishingiz va extension_dir parametrida ko'rsatilgan yo'lni to'g'rilashingiz kerak. O'ng chiziqni chap chiziqqa o'zgartiring va manzilning boshiga virtual haydovchi harfini qo'shing.

Agar siz hali ham CMD konsolidan PHP skriptini ishga tushira olmasangiz, xato xabarida ko'rsatilgan barcha yo'llarni ko'rib chiqishingiz va ularni tuzatishingiz kerak.

Hammasi yaxshi bo'lsa

Buyruqlar satrida tizim PHP tili tarjimonining "bajarilishi" joylashgan yo'lni ko'rsatishi kerak. Denverda u quyidagi yo'lda joylashgan: Z:\usr\local\php5

Global konfiguratsiya fayli ham shu yerda joylashgan.

Windows buyruq qatorini ishga tushiring. Keyin tizimga bajariladigan faylga yo'lni ko'rsatamiz PHP fayli. Keyin kerakli skriptga yo'lni o'rnating: Z:\usr\local\php5\php.exe Z:\home\localhost\www\test2.php

Ammo oxirida siz umuman kutilmagan natijaga erishasiz:

Va barchasi, chunki buyruq qatori teglarni "tushunmaydi". Buyruqlar satridan PHP skriptini ishga tushirishdan oldin biz kodni biroz o'zgartiramiz, shunda u faqat bizga qaytariladi joriy vaqt"soat" effektisiz.



gastroguru 2017