मैं मैक ओएस एक्स में PHP को कैसे अपग्रेड करूं?


99

मुझे लगता है कि यह एक अजीब से अप्रिय सवाल है, लेकिन अजीब बात है, इस समस्या को खराब तरीके से प्रलेखित किया गया है।

मैं PHP को अपग्रेड करना चाहूंगा, लेकिन कई समस्याएं हैं:

  • कोई अंतर्निहित पैकेज प्रबंधक नहीं है। MacPorts php को एक संस्थापित पैकेज के रूप में नहीं पहचानता है क्योंकि यह स्वयं PHP स्थापित नहीं करता है।
  • रनिंग locate phpइंगित करता है कि शायद कई निर्भरताएं हैं।
  • मुझे नहीं पता कि HOW php इंस्टॉल किया गया था, क्योंकि यह OS के साथ शामिल था, इसलिए मुझे नहीं पता कि मुझे स्रोत से इंस्टॉल करना चाहिए या बायनेरी डाउनलोड करना चाहिए। मैं भी निर्भरता को तोड़ने के बिना पिछले संस्करण की स्थापना रद्द करने का उचित तरीका नहीं जानता।

मैं तेंदुए पर चल रहा हूं। मुझे लगता है कि Apple आपको अपग्रेड नहीं करना चाहता। स्नो लेपर्ड खरीदना और अपग्रेड करना इस समस्या को हल करेगा (और भविष्य के लोग इसे पसंद करेंगे)?


जवाबों:


90

तुम मार्क Liyanage के PHP पैकेज की जाँच करना चाहते हो सकता है। यह एक अच्छा मैक ओएस एक्स इंस्टॉलर पैकेज में आता है जिसे आप डबल-क्लिक कर सकते हैं। वह इसे बहुत अद्यतित रखता है।

http://php-osx.liip.ch/

इसके अलावा, हालांकि स्नो लेपर्ड को अपग्रेड करने से आपको भविष्य में PHP अपडेट करने में मदद नहीं मिलेगी, लेकिन यह संभवतः आपको PHP का एक नया संस्करण देगा। मैं OS X 10.6.2 चला रहा हूं और इसमें PHP 5.3.0 है।


धन्यवाद!! मैं घबरा गया था यह प्रक्रिया और अधिक कठिन होने वाली थी।
गैविन

10
ध्यान दें कि यह पैकेज मैक पर मूल PHP संस्करण को ओवरराइड नहीं करता है , इसलिए यह बॉक्स से बाहर काम नहीं करता है, आपको नई निर्देशिका को इसमें जोड़ने की आवश्यकता है PATH। इसे काम करने के निर्देश उस पृष्ठ पर हैं (मैं पहली बार याद करने के लिए काफी बेवकूफ था)।
कोडेड बंदर

1
वाह! काम करने के लिए Homebrew के माध्यम से स्थापना प्रक्रिया प्राप्त करने की कोशिश कर रहे घंटे खर्च करने के बाद, मैंने यह कोशिश की। सुपर फास्ट, सुपर आसान और यह वास्तव में बॉक्स से बाहर सीधे काम करता है! धन्यवाद!
मैगनस डब्ल्यू

निश्चित रूप से सबसे अच्छा विकल्प। इतना दर्द रहित (जब तक आपको याद है कि यह सुनिश्चित करना $PATHसही है कि जैसा कि @CodedMonkey द्वारा इंगित किया गया है)
ठीक

2
इसके अलावा, यह ध्यान देने योग्य है कि एक अलग निर्देशिका में स्थापित करने के बावजूद, इंस्टॉलर अपाचे को कॉन्फ़िगर करता है ताकि आपके सभी वेब एप्लिकेशन नव स्थापित php संस्करण का उपयोग करें। तो, PATH ट्रिक तभी उपयोगी है जब आप कमांड लाइन से php चलाते हैं। यदि आप वेब एप्लिकेशन चलाना चाहते हैं तो इंस्टॉलर हर चीज का ध्यान रखता है।
फियाकोबेली

51

मैं इसका उपयोग करता हूं: https://github.com/Homebrew/homebrew-php

आदेश है:

$ xcode-select --install

$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php

$ brew options php56
$ brew install php56

फिर अपने .bash_profileया में कॉन्फ़िगर करें.bashrc

# Homebrew PHP CLI
export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"

ध्यान दें कि यह एम्बेडेड PHP को अपडेट नहीं करेगा, लेकिन एक नया इंस्टॉल करें। मैं भ्रम के बावजूद दो संस्करणों को स्थापित करने में गंभीर समस्या में भाग गया ...
जूलियन एफ। वेनर्ट

मैंने यह कोशिश की और कई मुद्दों पर भी, जैसे लॉन्च पर बैश क्रैश, मुझे इसे फिर से स्थापित करना पड़ा। सावधान रहें जब आप इन आदेशों की कोशिश करते हैं और इन पंक्तियों को संसाधित करते समय आपको क्या करना चाहिए, इसका सुझाव देते हैं।
Brac

ध्यान दें कि homebrew / dupes और homebrew / संस्करणों को अब हटा दिया गया है।
मेडिनसॉड

14

मुझे लगता है कि यह करने के लिए एक सरल तरीका है:

1 - जाँच करें कि आपका वर्तमान PHP कहाँ है:

$ which php
$ /usr/local/bin/php

आप समझ सकते हैं? आमतौर पर, हमारे आदेश जो हम चलाते हैं / usr / स्थानीय / बिन में एक कड़ी है ...

2 - PHP के इस वर्तमान लिंक को अनलिंक करें

unlink /usr/local/bin/php

यदि आप पहले से तय करते हैं, तो इसे अनलिंक करने से पहले, पथ की जाँच करें और फिर php फ़ाइलें निकालें (do ls -al /usr/local/bin। Grep php और फिर rm -rfइच्छित पथ में)

3 - PHP 7.1 स्थापित करें

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.1

4 - नया लिंक बनाएं (आपके द्वारा इंस्टॉल किए गए php 7.1 बिन का उपयोग करके)

ln /usr/local/php5-7.1.9-20170914-100859/bin/php /usr/local/bin/php

जैसा मैंने कहा, इसका आसान तरीका मुझे लगता है।


8

कोई अंतर्निहित पैकेज प्रबंधक नहीं है। MacPorts php को एक संस्थापित पैकेज के रूप में नहीं पहचानता है क्योंकि यह स्वयं PHP स्थापित नहीं करता है।

आप इसे अभी भी MacPorts के साथ इंस्टॉल कर सकते हैं। sudo port install php52(या जो भी संस्करण आप चाहते हैं) PHP स्थापित करेगा।

यह Apple द्वारा प्रदत्त संस्करण को अधिलेखित नहीं करेगा। इसके तहत इसे स्थापित करेंगे /opt/local। आप अपनी /opt/localशुरुआत में जोड़ सकते हैं $PATH, और अपने Apache config में MacPorts संस्करण का उपयोग कर सकते हैं ।


आप php संस्करण पैकेज नाम का पता कैसे लगाते हैं?
डेविड

6

विकल्प 1

जैसा कि यहां सुझाया गया है , यह साइट एक सुविधाजनक, एक लाइनर प्रदान करती है।

यह आपके सिस्टम पर PHP के आधार संस्करण को अधिलेखित नहीं करता है, बल्कि इसे / usr / स्थानीय / php5 में सफाई से स्थापित करता है।

विकल्प 2

मेरा पसंदीदा तरीका सिर्फ Homebrew के माध्यम से स्थापित करना है


1
तुम्हारा मतलब है यह ? आदर्श रूप से आप यहां सब कुछ समेटेंगे, आप जानते हैं, मामले की कड़ी में अतिरेक के लिए और सादगी के लिए! यह भी ध्यान देने योग्य है कि यह ऐप्पल php की जगह नहीं लेगा। ; पी
क्रैगॉक्स

3

इससे पहले कि मैं जाऊं, मेरे पास ओएस एक्स सर्वर का नवीनतम संस्करण (v5.0.15) है (हां, भयानक, मुझे पता है ... हालांकि, वेब सर्वर ए-ओके काम करने लगता है) । मैंने PHP के एक नए संस्करण को अपडेट करने के लिए (या कम से कम अपाचे को इंगित करने के लिए) प्राप्त करने की कोशिश करने के लिए उच्च और निम्न दिनों की खोज की। मेरे mcryptकाम नहीं किया, अन्य एक्सटेंशन के साथ और मैंने http://php-osx.liip.ch/ और अन्य ट्यूटोरियल से PHP को कई बार स्थापित और पुनः इंस्टॉल किया, जब तक कि मैंने अंत में एक टिप्पणी में लिखी गई जानकारी का एक छोटा सा हिस्सा नहीं देखा। कई अलग-अलग .confफाइलें OS X सर्वर रखती हैं, जो कि .confApache httpd.conf (पर स्थित /etc/apache2/httpd.conf) को लोड करने से पहले OS X सर्वर लोड करता है । सर्वर फ़ाइल स्थित है:

/Library/Server/Web/Config/apache2/httpd_server_app.conf

जब आप इस फ़ाइल को खोलते हैं, तो आपको इस पंक्ति को इस तरह से टिप्पणी करना होगा:

#LoadModule php5_module libexec/apache2/libphp5.so

फिर सही पथ में जोड़ें (जो पहले से ही स्थापित होना चाहिए यदि आपने http://php-osx.liip.ch - लिंक के माध्यम से स्थापित किया है :

LoadModule php5_module /usr/local/php5/libphp5.so

इस संशोधन के बाद, मेरे PHP ने अंततः सही PHP स्थापना लोड की। यह कहा जा रहा है, अगर चीजें जीत जाती हैं, तो यह हो सकता है क्योंकि ओएस एक्स स्थापना के समय PHP की मूल स्थापना को बंद करने के लिए बनाया गया है। वापस करने के लिए, बस ऊपर दिए गए परिवर्तन को पूर्ववत करें।

वैसे भी, उम्मीद है कि यह किसी और के लिए इस पर अनगिनत घंटे खर्च करने में मददगार हो।


1
इस टिप्पणी ने मुझे बहुत समय बचाया!
ग्यूजमिक्स

2

स्नो लेपर्ड को अपग्रेड करने से पीएचपी को अद्यतन रखने की आपकी प्राथमिक समस्या का समाधान नहीं होगा। Apple हमेशा तीसरे पक्ष के सॉफ़्टवेयर को नहीं रखता है जो इसे OS अपडेट के साथ अपडेट करता है। और ऐप्पल पर भरोसा करते हुए आपको बग फिक्स / सुरक्षा अपडेट प्राप्त करने की आवश्यकता है जो आपको परेशानी के लिए पूछ रहा है।

इसके अतिरिक्त, मैं MacPorts के माध्यम से स्थापित करने की सिफारिश करूँगा (और Apple के PHP के बजाय इसका उपयोग करने के लिए आवश्यक कॉन्फिगर कर रहा हूं ) इसके बजाय Apple द्वारा आपूर्ति की गई PHP को जगह में अपग्रेड करने का प्रयास करें। कुछ भी आप /usr/binभविष्य के Apple अद्यतन द्वारा अधिलेखित होने वाले जोखिमों के लिए करते हैं ।


Apple का सुरक्षा अद्यतन 2010-002 तेंदुए के PHP को 5.2.12 में अद्यतन करता है।
डेव बछेर

PHP 5.3.1 स्नो लेपर्ड के साथ आता है।
JAL

2

कीस्ट्रोक पर बचत, इसने MacOS सिएरा पर काम किया:

$ brew install homebrew/php/php71

$ /usr/local/opt/php71/bin/php -v
PHP 7.1.4 (cli) (built: Apr 14 2017 15:02:16) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

2

निम्नलिखित कमांड के साथ टर्मिनल में अपने वर्तमान php संस्करण की जाँच करें,

$ php -v

आप टर्मिनल में वर्तमान php संस्करण देखते हैं, और टर्मिनल में अगला कमांड रन करते हैं, यदि आप अपने php संस्करण को php कॉन्कैट के साथ संस्करण के रूप में पसंद करना चाहते हैं,

$ brew install homebrew/php/php71

कृपया टर्मिनल फिर से शुरू करें यदि आपने php वर्जन अपग्रेड को इंस्टाल किया और कमांड चलाया।

$ php -v

अब आप टर्मिनल में वर्तमान php संस्करण देखते हैं .... धन्यवाद


0

इस कमांड का उपयोग करें:

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.0

0

आप php वर्जन को अपडेट करने के लिए कर्ल का उपयोग कर सकते हैं।

curl -s http://php-osx.liip.ch/install.sh | bash -s 7.3

अंतिम चरण:

export PATH=/usr/local/php5/bin:$PATH

उन्नत संस्करण की जाँच करें

php -v

-1

उन्नयन का सबसे अच्छा तरीका इसे स्रोत से संकलित करना है

इस ट्यूटोरियल को देखें जो आपके लिए उपयोगी हो सकता है

http://www.computersnyou.com/2012/09/how-to-upgrade-php-in-mac-osx-compiling.html


21
आपको यहां सामग्री के सारांश के बिना किसी संसाधन से लिंक करने से बचना चाहिए। जब लिंक टूट जाएगा तो आपका उत्तर प्रासंगिक नहीं रह जाएगा।
स्कॉट

1
और हाँ ... लिंक टूट गया है! :-D
इमली

-2

नवीनतम स्थिर संस्करण के लिए brew upgrade php7 या नवीनतम स्थिर संस्करण के लिए php5.X के लिए php7 को अपग्रेड करने के लिए

brew upgrade php56

brew listस्थापित संस्करण की जाँच करने के लिए उपयोग करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.