2012-05-24 19 views
21

क्या कमांड लाइन के माध्यम से एक PHP स्क्रिप्ट में $ _SERVER चर पारित करना संभव है?

विशेष रूप से मैं $ _SERVER ['प्राप्तकर्ता'] मैन्युअल रूप से सेट करने का प्रयास कर रहा हूं, इसलिए मैं मेल सर्वर स्थापित किए बिना ईमेल पाइपिंग का परीक्षण कर सकता हूं।

+0

एक बहुत स्पष्ट प्रश्न नहीं है, लेकिन शायद आप चाहते हैं: php script.php command_line_arguments_go_here –

उत्तर

-5

कैसे एक डमी पेज इस सामग्री के साथ dummy.php कहा जाता है की स्थापना के बारे:

$ recipient="[email protected]" php script.php 

<?php 

print_r($_SERVER); 

टेस्ट:: * nix पर

<?php 
    $_SERVER['recipient'] = '[email protected]'; 
?> 
31

$ recipient="[email protected]" php script.php | grep recipient 

[recipient] => [email protected] 

या, आप कर सकते हैं इसे निर्यात करें या सेटेंव (आपके ओएस के आधार पर), जैसे

$ export recipient="[email protected]" 
$ setenv recipient="[email protected]" 
+0

ध्यान दें कि यह भी उपयोगी है $ _SERVER ['HOST_NAME'] जैसे अंतर्निर्मित चर सेट करना। एक जादू की तरह काम करता है! –

+1

क्या कोई कारण है कि यह DOCUMENT_ROOT के लिए काम नहीं करता है? क्या उसके आस-पास कोई रास्ता है? – eisaacson

+0

क्या यहां कोई विंडोज विकल्प है? – EyasSH

0

@sberry द्वारा उत्तर सही है।

... लेकिन क्योंकि मैं इस पेज, मूलभूत मूल्यों $_SERVER सरणी के लिए सेट करते समय कमांड लाइन से पीएचपी चलाने के लिए की तलाश में के लिए आया था, यहाँ अपने ही जवाब है। उम्मीद है कि यह किसी की मदद कर सकता है।

empty($_SERVER['HTTP_HOST']) && $_SERVER['HTTP_HOST'] = 'localhost'; 
empty($_SERVER['REQUEST_URI']) && $_SERVER['REQUEST_URI'] = '/'; 
empty($_SERVER['DOCUMENT_ROOT']) && $_SERVER['DOCUMENT_ROOT'] = __DIR__; 
print_r($_SERVER); 
0

मैं व्यक्तिगत रूप से निम्नलिखित का उपयोग करता हूं।

उदाहरण: $ _SERVER ['प्राप्तकर्ता] मेरी PHP कमांड लाइन में सेट करें।

ओएस एक्स के साथ

  • https://github.com/ersiner/osx-env-sync
  • में निर्देशों का पालन फ़ाइल '~/.bash_profile' (, इसे बनाने के अगर यह मौजूद नहीं है)

    में निम्न पंक्ति संलग्न करें

    export recipient="[email protected]"

उबंटू जीएनयू/लिनक्स के साथ