कंसोल पैरामीटर के साथ php error_reporting मान सेट करना


11

सामान्य रूप से मैं इस कमांड का उपयोग करने वाली त्रुटियों पर अपने PHP प्रोजेक्ट्स का परीक्षण करने के लिए:

find ./ -type f -name \*.php -exec php -l '{}' \; | grep -v "No syntax errors detected"

मैं php -l '{}' \;कुछ मापदंडों के साथ भाग का विस्तार करना चाहूंगा ताकि यह एक कस्टम error_reporting स्तर का उपयोग करेगा और php.ini में परिभाषित नहीं होगा। क्या यह संभव है?

(मुझे पता है कि सवाल कुछ हद तक संबंधित है। दूसरी तरफ यह शेल कमांड के बारे में अधिक है। अगर आपको लगता है कि स्टैकओवरफ्लो पर बेहतर होना चाहिए तो इसे स्थानांतरित करने के लिए स्वतंत्र महसूस करें। मुझे यकीन नहीं था कि सवाल बेहतर कहाँ फिट होगा।)


क्या आपका मतलब error_reportingस्तर है? आप php.iniphp फ़ाइलों में मान या कस्टम का उपयोग क्यों नहीं करना चाहते हैं।
क्वांटा जूल

@quanta: हाँ, मैं error_reporting के बारे में बात कर रहा हूँ। क्षमा करें, यह पर्याप्त स्पष्ट नहीं था। मैं अब सवाल बदल देता हूं। मैं इसे php.ini में बदलना नहीं चाहता क्योंकि मैं इस कमांड श्रृंखला का उपयोग कभी-कभी लाइव सर्वर पर भी करता हूं। और इसे फाइलों में स्वयं सेट करना भी एक विकल्प नहीं है क्योंकि मुझे इसे हर फाइल में सेट करना होगा क्योंकि खोज कमांड प्रत्येक फ़ाइल को व्यक्तिगत रूप से निष्पादित करता है। और मेरे पास कभी-कभी ऐसी परियोजनाएं होती हैं जहां हम बाहरी पुस्तकालयों का उपयोग करते हैं और मैं उन्हें उसी समय परीक्षण करना चाहूंगा।
राफेल लूथिगर

जवाबों:


15

इसके अनुसार php -h

-d foo[=bar]     Define INI entry foo with value 'bar'

यदि आप अनुशंसित उत्पादन डिफ़ॉल्ट ( E_ALL & ~E_DEPRECATED) चाहते हैं, तो मान 22527PHP 5.3 और 24575PHP 5.4+ में होगा।

php -l -d error_reporting=22527

विभिन्न संयोजनों के लिए मूल्य खोजना सरल है।

php -r 'echo E_ALL & ~E_NOTICE | E_STRICT;' # should return 32759
php -r 'echo E_ALL & ~E_DEPRECATED;' # should return 22527 in PHP 5.3, 24575 in PHP 5.4+

1
धिक्कार है ... मैं लगभग 10 बार "php -h" पढ़ रहा था लेकिन किसी तरह मेरा मन हमेशा इस लाइन पर कूद रहा था .... हाँ, यह वही है जो मैं खोज रहा था। मेरे मामले में मैं उपयोग करना चाहते हैं: E_ALL | E_STRICT जो 32767 है।
राफेल लूथिगर

PHP 5.4 के बाद से, E_STRICTका एक हिस्सा है E_ALL। और E_ALLएक आसान शॉर्टकट मूल्य है -1। तो php -d error_reporting=-1सभी रिपोर्टिंग को सक्षम करने के लिए कोई भी कर सकता है।
मार्टिन प्रिक्रील
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.