2012-07-22 12 views
7

पर अलग-अलग संस्करण दिखाएं। मैं अपने PHP को 5.3.13 से 5.4.5 से अपग्रेड करने का प्रयास करता हूं, मैंने मैन्युअल रूप से php 5.4.5 और ./configure के स्रोत कोड डाउनलोड किए हैं, तो सुडो इसे इंस्टॉल करें।phpinfo और php -v शेर

उसके बाद, मैं

php -v 

यह 5.4.5 से पता चलता चलाने के लिए, जब मैं

<?php phpinfo(); ?> 

चलाने यह 5.3.13 को दर्शाता है। यहां समस्या क्या है और इसे कैसे ठीक किया जाए। धन्यवाद

+0

आप कर रहे हैं (इस मामले 5.6 में) निकाल दिया गया सुनिश्चित करें कि लाइब्रेरी है कि आपका वेब सर्वर (उदाहरण के लिए अपाचे) नवीनतम है? या सेवा को पुनरारंभ करने का प्रयास करें? (मुझे सेब नहीं पता है, लेकिन यह मुझे लगता है) –

+0

और क्या आप होमब्रू या मैकपॉर्ट्स का उपयोग कर रहे हैं? –

+0

@AlvinWong हाँ, मैंने सेवा को पुनरारंभ किया है। – fengd

उत्तर

7

यह एक अनुमान जवाब का एक सा है के बाद से मैं एक मैक नहीं है, लेकिन मेरे Winodws अनुभव के आधार पर यह केवल यदि आप 2 php निष्पादनयोग्य है हो सकता है और अपने CLI उपयोग कर रहा है और अपाचे अन्य उपयोग कर रहा है ।

आपके phpinfo() आउटपुट तालिका पंक्ति Loaded Configuration File के लिए आउटपुट देखें।

मैं विंडोज़ पर हूं इसलिए मेरा कहना है C:\server\php\5.4.3\php.ini लेकिन निश्चित रूप से आपका अलग होगा।

यदि यह रास्ता है कि आप इसे का उपयोग करने की तो आप आप अपने अपाचे के httpd.conf फाइल में पथ बदल सुनिश्चित करने के लिए की आवश्यकता होगी उम्मीद नहीं है।

एक बार जब आप httpd.conf फ़ाइल लाइन को खोजने पाया है: PHPIniDir

आप इस लाइन यकीन है कि यह php.ini फ़ाइल के लिए सही निर्देशिका पर इंगित किया गया है और अपाचे पुनः आरंभ पाया है जब।

मैं यह भी कहूंगा कि LoadModule php5_module लाइन सही फ़ाइल पर भी इंगित कर रही है लेकिन संभावना है कि यदि आप पहले PHP 5.3 का उपयोग कर रहे थे तो यह ठीक रहेगा।

यह उत्तर मानता है कि आपने एक अलग निर्देशिका में नया PHP संस्करण स्थापित किया है, लेकिन यह आपके द्वारा प्रदान की गई जानकारी के बारे में सोच सकता है।

+0

मुझे आपका विचार मिला, लेकिन समस्या यह है कि इसे कैसे ठीक किया जाए। जैसे अपाचे मॉड्यूल के रूप में नवीनतम PHP को कैसे स्थापित करें। – fengd

5

मुझे लगता है कि मैं अभी भी एक ही समस्या से आया हूं। मैं ओएसएक्स शेर का उपयोग कर रहा हूं और ब्रू या पोर्ट के बिना PHP स्थापित कर रहा था बस मशीन के साथ आया PHP का उपयोग कर रहा था।

मैं वर्तमान php मैं (उस समय मुझे नहीं पता था वहाँ थे कि मेरे मशीन पर PHP के 2 संस्करण, और भूल गया है कि कैसे मैं इसे स्थापित) का उपयोग कर रहा करने के लिए mcrypt मॉड्यूल स्थापित करने के लिए आवश्यकता थी, इसलिए मैं होमब्री स्थापित करें और उसके बाद ब्रू का उपयोग कर mcrypt इंस्टॉल करें। स्थापना के बाद, मैं अपना ब्राउज़र खोलता हूं और phpinfo() के माध्यम से मैंने पाया कि PHP संस्करण एक के साथ अलग है जिसे मैं mcrypt मॉड्यूल स्थापित करता हूं, और इसलिए मॉड्यूल को काम नहीं कर सकता।

यह वही है टर्मिनल में पता चला है:

Windo-MBP:~ herwindoartono$ php --version 
PHP 5.3.23 (cli) (built: May 4 2013 06:43:49) 

और ब्राउज़र (स्थानीय अपाचे) से, एक php पृष्ठ खोलकर दिखा पीएचपी 5.3.15 संस्करण phpinfo(); होते हैं।। मुझे नहीं पता कि मैं अपनी मशीन पर विभिन्न संस्करणों के साथ कैसे समाप्त हुआ, इसलिए मैं ब्राउज़ करता हूं और मैं समाधान के लिए ब्राउज़ करता हूं और एक पाया:

httpd में एक पंक्ति बदलना।conf बदलना चाहिए जो PHP संस्करण मैं

यह मेरे अनुभव के जो PHP संस्करण का उपयोग करने के बदलने का तरीका आधार है उपयोग कर रहा हूँ:,

  • संपादित अपने httpd.conf टर्मिनल में टाइप करके: sudo subl /etc/apache2/httpd.conf टिप्पणी : subl उत्कृष्ट पाठ 2 के लिए है, अन्यथा आप nano का उपयोग कर सकते हैं। , LoadModule php5_module /usr/local/opt/php53/libexec/apache2/libphp5.so अपने मामले के लिए सिर्फ php53php54 बदलें:
  • ढूँढें लाइन LoadModule php5_module libexec/apache2/libphp5.so, टिप्पणी यह ​​
  • कि रेखा से नीचे जोड़ें।
  • टर्मिनल का उपयोग करके अपाचे को पुनरारंभ करें: sudo apachectl restart
  • ब्राउज़र में टेस्ट phpinfo(), और यह संस्करण के साथ बाहर आ गया है जिसका उपयोग मैं करना चाहता हूं।

संदर्भ: https://github.com/josegonzalez/homebrew-php/issues/448

मैं PHP में ज्यादा अनुभव नहीं है, लेकिन मुझे आशा है कि यह आपकी (या बाकी सब) समस्या का समाधान कर सकते हैं।

+0

यह मेरे लिए काम करता है। धन्यवाद! – ucheng

1

मेरे पास एक समान स्थिति थी, यह समय के साथ PHP के विभिन्न स्थापना संस्करणों और लिनक्स में अद्यतन खोजपाथ के कारण हुई थी।

echo $PATH के माध्यम से जांच करें। उदाहरण के लिए

आउटपुट: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

मेरे मामले में पुराने संस्करण 5.5.9 नवीनतम संस्करण 5.5.22 से पहले संदर्भित एक स्थापना रास्ते में था। 5.5.9 /usr/local/bin/ और 5.5.22 /usr/bin/ पर स्थापित किया गया था।

सही फ़ोल्डर को गलत से पहले स्थानांतरित करके इसे अनुकूलित करें, या फिर पुराने PHP संस्करण को बेहतर तरीके से हटाएं।

1

मैं Ubuntu 14.04 में बहुत ही समस्या का सामना करना पड़ रहा था, और मैं निम्नलिखित किया:

  1. रूट निर्देशिका मैं php.ini

    find/-name php.ini

के लिए देखा से मुझे दो अलग-अलग फाइलें मिलीं, जिसका मतलब है कि मेरे पास PHP के दो अलग-अलग संस्करण स्थापित हैं, इसलिए

  1. मैं सभी php संस्करणों

    sudo apt-get -y purge php*

  2. तो reintalled वांछित PHP संस्करण

    sudo apt-get install php5.6

+1

मैंने यह किया अब Nginx टूटा हुआ है। मुझे केवल 502 प्रतिक्रियाएं मिलती हैं। आपने इसे कैसे हल किया? – powerup7