मुझे कैसे पता चलेगा कि PHP का स्थापित संस्करण थ्रेडसेफ़ है या थ्रेड सुरक्षित नहीं है?
कृपया ध्यान दें कि मैं थ्रेडसेफ़ / नॉन थ्रेड सेफ इंस्टॉलेशन के बीच का अंतर नहीं पूछ रहा हूं। मैं यह पता लगाना चाहूंगा कि वर्तमान में क्या स्थापित है।
मुझे कैसे पता चलेगा कि PHP का स्थापित संस्करण थ्रेडसेफ़ है या थ्रेड सुरक्षित नहीं है?
कृपया ध्यान दें कि मैं थ्रेडसेफ़ / नॉन थ्रेड सेफ इंस्टॉलेशन के बीच का अंतर नहीं पूछ रहा हूं। मैं यह पता लगाना चाहूंगा कि वर्तमान में क्या स्थापित है।
जवाबों:
एक phpinfo खोलें () और लाइन थ्रेड सुरक्षा के लिए खोजें । थ्रेड-सुरक्षित बिल्ड के लिए आपको सक्षम होना चाहिए ।
मुहम्मद गालबाना की टिप्पणियों के अनुसार आप भी इसका उपयोग कर सकते हैं:
php -i|findstr "Thread"
php -i|grep Thread
php -i|find "Thread"
ऑन * निक्स:php -i|grep Thread
php -i | find "Architecture"
यह जांचने के लिए कि क्या यह x86 या x64 है
php -i | grep Architecture
यदि आप कमांड लाइन का उपयोग करना पसंद करते हैं:
* Nix:
php -i | grep -i "Thread"
खिड़कियाँ:
php -i | findstr -i "thread"
यह आपको कुछ इस तरह देना चाहिए:
Thread Safety => enabled
या
Thread Safety => disabled
एक नई PHP फ़ाइल बनाएँ और उसमें यह कोड डालें:
<?php
phpinfo(); ?>
फिर इस पेज को चलाएं और आपको PHP की सभी जानकारी मिल जाएगी। उस शब्द की खोज करें जिसे आप चाहते हैं, और यह दिखाएगा कि यह सक्षम है।
मुझे अभी php [version] नाम की फ़ाइल देखना आसान है। php के रूट फोल्डर में। इसका या तो php [संस्करण] .dll या php [संस्करण] ts.dll (थ्रेड सेफ़ के लिए खड़ा ts)। इसलिए, यदि आपके पास php7.0.10 स्थापित है, तो उस निर्देशिका पर जाएं जिसका यह नाम है और आपको php7ts.dll नामक एक फ़ाइल मिलेगी। यह पता लगाने का एक बहुत दुखद तरीका है, लेकिन यह काम करता है!
इसके बाद अविभाजित ZEND_THREAD_SAFE
स्थिरांक है, जो PHP 4.3 के बाद से मौजूद है।
<?php
if (ZEND_THREAD_SAFE) {
echo 'Thread safe';
} else {
echo 'Not thread safe';
}
जांचें कि क्या आपका इंस्टॉल अपाचे मॉड्यूल या सीजीआई बाइनरी है। स्टैक ओवरफ्लो प्रश्न देखें PHP में थ्रेड सुरक्षित या गैर थ्रेड सुरक्षित क्या है? ।
एक स्क्रिप्ट से:
/**
* @return boolean true if PHP is thread safe
*/
function isThreadSafe()
{
ob_start();
phpinfo(INFO_GENERAL);
return preg_match('/Thread\s*Safety\s*enabled/i', strip_tags(ob_get_clean()));
}