उदाहरण के साथ, यह लेख उन तरीकों से शीघ्रता से चलेगा जिनमें PHP को बैश शेल/कमांड लाइन से उपयोग किया जा सकता है।
PHP का उपयोग आमतौर पर वेब पर प्रस्तुत की जाने वाली सामग्री उत्पन्न करने के लिए किया जाता है - लेकिन इसका उपयोग कमांड लाइन से भी किया जा सकता है।
यह आमतौर पर PHP वातावरण के बारे में जानकारी के परीक्षण या पता लगाने के लिए किया जाता है - लेकिन PHP का उपयोग कमांड-लाइन स्क्रिप्ट लिखने के लिए भी किया जा सकता है (हालांकि, यह वास्तव में ऐसा अक्सर नहीं किया जाता है - शायद इसलिए कि बेहतर हैं विकल्प )।
शैल से सीधे PHP कमांड निष्पादित करें
PHP कमांड को सीधे कमांड लाइन से -r . के साथ निष्पादित किया जा सकता है (रन) विकल्प:
php -r 'phpinfo();'
ऊपर, phpinfo() समारोह कहा जाता है। कोड की कई पंक्तियों को अर्धविराम से अलग किया जा सकता है, या एक हेरेडोक (मल्टीलाइन बैश वैरिएबल) को पाइप किया जा सकता है।
पैरामीटर/तर्क
$argv . का उपयोग करके पैरामीटर/तर्क PHP को पास किए जा सकते हैं वेरिएबल, जो तब उपलब्ध होता है जब PHP को कमांड लाइन से निष्पादित किया जाता है।
php -r 'echo $argv[1]; echo $argv[2];' "foo" "bar"
ऊपर, पहला पैरामीटर $argv[1] . का उपयोग करके एक्सेस किया जाता है और दूसरा पैरामीटर $argv[2] . का उपयोग कर रहा है ।
$argv एक सरणी है जो केवल तभी पहुंच योग्य होगी जब PHP को कमांड लाइन से कॉल किया जाए। सरणी में पहला आइटम स्क्रिप्ट निष्पादित करने के लिए बुलाए गए PHP निष्पादन योग्य का नाम होगा, और सरणी में निम्नलिखित आइटम उपस्थिति के क्रम में पारित पैरामीटर होंगे।
एक स्क्रिप्ट फ़ाइल निष्पादित करें
फ़ाइल को पथ प्रदान करके PHP फ़ाइलों को कमांड लाइन से निष्पादित किया जा सकता है:
php script.php
या
php -f script.php
-f विकल्प की आवश्यकता नहीं है लेकिन स्पष्टता के लिए निर्दिष्ट किया जा सकता है।
PHP कमांड-लाइन विकल्पों की पूरी सूची यहां पाई जा सकती है।
पैरामीटर/तर्क
जैसे कि कमांड लाइन से सीधे PHP निष्पादित करते समय, पैरामीटर्स को $argv . का उपयोग करके एक्सेस किया जा सकता है उसी तरह कमांड लाइन से स्क्रिप्ट चलाते समय सरणी।
जांच रहा है कि कमांड लाइन से चल रहा है या नहीं
जैसे $argv , $argc केवल कमांड लाइन से चलते समय मौजूद है। इसमें स्क्रिप्ट को दिए गए पैरामीटर/तर्कों की संख्या शामिल है।
अगर यह मौजूद है, तो आप कमांड लाइन पर चल रहे हैं!
if (isset($argc)) { // PHP was called from the command line }
STDIN/STDOUT और PHP
मानक पुनर्निर्देशन का उपयोग कमांड को फीड करने और PHP से डेटा संसाधित करने के लिए किया जा सकता है जैसा कि आप किसी अन्य कमांड-लाइन एप्लिकेशन के साथ करते हैं।
echo 'Green trees' | php -r 'echo file_get_contents("php://stdin");'
ऊपर, टेक्स्ट 'ग्रीन ट्रीज़' को PHP में पाइप किया जाता है, जो तब एसटीडीआईएन की फाइलों को पढ़ता है और इसे वापस दोहराता है।