2011-04-25 14 views
10

आप -q कमांड लाइन स्विच के साथ PHP चला सकते हैं। मैनुअल केवल कहता है:PHP को शांत मोड में चलाने का क्या अर्थ है?

शांत मोड। HTTP शीर्षलेख आउटपुट (केवल CGI) दबाएं।

व्यावहारिक शर्तों में इसका वास्तव में क्या अर्थ है?

उत्तर

16

यह केवल सीजीआई एसएपीआई के खिलाफ बनाए गए PHP दुभाषिया से संबंधित है। इस संस्करण में किसी भी वास्तविक उत्पादन से पहले कुछ बुनियादी HTTP हेडर भेजता है:

X-Powered-By: PHP/5.3.3-1ubuntu9.3 
Content-type: text/html 

"(echo) What I actually wanted to have" 

तो मूल रूप से -q कमांडलाइन झंडा stdout के लिए लिखा जा रहा से किसी भी header() से बचाता है।

उद्देश्य कंसोल स्क्रिप्ट के लिए php cLI संस्करण के बदले php-cgi बाइनरी का उपयोग करना है। (हालांकि उत्पादन में कुछ नए पंक्तियां जोड़ी

#!/usr/bin/php-cgi -qC 
7

आप -q कुंजी php के साथ देख सकते हैं हेडर भेजने के लिए दबा देता: आमतौर पर आप इस तरह स्क्रिप्ट php-cgi के लिए मजबूर करने में कुटिया निम्न देखें -cli संस्करण की तरह व्यवहार करने के लिए इसे और अधिक पठनीय बनाएं):

[email protected] ~ $ cat file.php 
<?php 

header('Location: http://stackoverflow.com'); 

echo 42; 

[email protected] ~ $ php file.php 
Status: 302 Moved Temporarily 
X-Powered-By: PHP/5.2.17 
Location: http://stackoverflow.com 
Content-type: text/html 

42 

[email protected] ~ $ php -q file.php 
42 
संबंधित मुद्दे