Ubuntu 16.04 पर php5 स्थापित नहीं कर सकते


53

इसलिए मैंने हाल ही में अपना पहला उबंटू स्थापित किया है, सटीक होना, 16.04 का एक दैनिक निर्माण, मेरे नए लैपटॉप पर चूंकि हार्डवेयर 15.10 के लिए नया था। अब मैं इसे स्थापित करने की प्रक्रिया में हूं और मैं php5 और कुछ एक्सटेंशन स्थापित करना चाहता हूं।

जब मैं निष्पादित करता sudo apt-get install libapache2-mod-php5हूं मुझे त्रुटि संदेश मिलता है कि php5 और libapache2 के लिए कोई स्थापना पैकेज उपलब्ध नहीं है।

त्रुटि संदेश जर्मन में है, इसलिए मुझे संदेह है कि यह मदद करेगा, लेकिन यहाँ वैसे भी यह है। :-) E: For package »libapache2-mod-php5« existiert kein Installationskandidat.

क्या मुझे उपयुक्त-रिपॉजिटरी जोड़ने की आवश्यकता है? या मैं क्या गलत कर रहा हूँ?



जवाबों:


76

TL; DR: यदि आप php5 के साथ रहना चाहते हैं, तो आपको Ubuntu 14.04 LTS पर रहना होगा

Ubuntu 16.04 LTS पर PHP 7.0 का उपयोग करना

उबंटू 16.04 ने पीएचपी पैकेज के लिए नए इंफ्रास्ट्रक्चर के साथ PHP 7.0 में स्विच किया है। तो, नहीं, आप Ubuntu 16.04 पर php5 स्थापित नहीं कर सकते, लेकिन आप PHP 7.0 संकुल को इसके साथ स्थापित कर सकते हैं:

apt-get install libapache2-mod-php

यह एक वर्चुअल पैकेज स्थापित करेगा जो नवीनतम PHP संस्करण पर निर्भर करता है और libapache2-mod-php7.0एक निर्भरता के रूप में खींचता है ।

यदि आप एक्सटेंशन की तलाश कर रहे हैं, तो हमेशा संस्करण-कम संस्करण का उपयोग करें (जैसे कि php-apcuइसके बजाय php7.0-apcu) क्योंकि PECL एक्सटेंशन संस्करण के बिना चिकनी उन्नयन की अनुमति देने के लिए पैक किए जाते हैं।

PHP 7.0 के साथ PHP 5.6 को PHP पीपीए का उपयोग करना

PHP 5.6 संकुल का उपयोग करके सह-स्थापित करने का विकल्प है ppa:ondrej/php

अधिक जानकारी के लिए कृपया उस उत्तर को देखें: https://askubuntu.com/a/762161/309221

ऊपर दिए गए लिंक से निकाले:

libapache2-mod-phpआपके लिए Apache में PHP को सक्षम करने के लिए एक उपयुक्त तरीका मानते हुए , आप इस तरह से आगे बढ़ सकते हैं:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

स्विच PHP संस्करण (Apache):

  • php5.6 से php7.0 तक:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • php7.0 से php5.6 तक:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


2
नहीं, Xenial रिपॉजिटरी में कोई PHP 5.x पैकेज नहीं हैं। केवल पीपीए में।
oerdnj

ऐसा लगता है कि आप सही हैं: Bugs.launchpad.net/ubuntu/+source/php5/+bug/1522422
NoBugs

जब मैं php5.6 पर स्विच करता हूं, तो मुझे त्रुटि मिली "apache2.service के लिए नौकरी विफल रही क्योंकि नियंत्रण प्रक्रिया त्रुटि कोड के साथ समाप्त हो गई। विवरण के लिए" systemctl स्टेटस Apache2.service "और" journalctl -xe "देखें।"
लीहोंग

और पत्रिका क्या कहती है?
oerdnj

इस अपाचे 2 की तरह कुछ मिला: सिंटैक्स त्रुटि ऑन लाइन 140 /etc/apache2/apache2.conf: सिंटेक्स त्रुटि 3 / ई की लाइन 3 पर
लीन्हॉन्ग

25

संपादित करें: स्वीकृत उत्तर स्पष्ट रूप से नहीं कहता है कि PHP 5.6 और 7.0 को कैसे स्थापित किया जाए, इसलिए मैं इसे विस्तारित करना चाहता था।

अधिक जानकारी के लिए कृपया उस उत्तर को देखें: https://askubuntu.com/a/762161/309221

ऊपर दिए गए लिंक से निकाले:

libapache2-mod-phpआपके लिए Apache में PHP को सक्षम करने के लिए एक उपयुक्त तरीका मानते हुए , आप इस तरह से आगे बढ़ सकते हैं:

sudo add-apt-repository ppa:ondrej/php

sudo apt-get update

sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

स्विच PHP संस्करण (Apache):

  • php5.6 से php7.0 तक:
    sudo a2dismod php5.6 ; sudo a2enmod php7.0 ; sudo service apache2 restart

  • php7.0 से php5.6 तक:
    sudo a2dismod php7.0 ; sudo a2enmod php5.6 ; sudo service apache2 restart


1
FYI करें: आपके द्वारा उपयोग किया जाने वाला PPA उस व्यक्ति द्वारा बनाए रखा जाता है जिसने स्वीकृत उत्तर लिखा है। और उस उत्तर में अंतिम पंक्ति: "ppa: ondrej / php का उपयोग करके PHP 5.6 संकुल को सह-स्थापित करने का एक विकल्प है"। ध्यान दें कि आप php5 संकुल या तो स्थापित नहीं कर रहे हैं, लेकिन php5.6
muru

1
कॉन्फ़िगरेशन फ़ाइलों की पैकेजिंग और स्थान में कई अंतर हैं जो पुराने php5 पैकेजों की तलाश में किसी को भी नए में आश्चर्यचकित करेंगे।
मूरू

मैंने अपना उत्तर संपादित कर लिया है, इसलिए यह नहीं कहता है कि स्वीकृत उत्तर गलत था, लेकिन केवल इसका विस्तार करता है।
फ्लेवियोस्कॉबर

@NoBugs यह कल्पना विस्तार पैक है। कृपया कम से कम बुनियादी जाँच के बिना चीजों को उगलना बंद करें कि वे सच हैं या नहीं।
oerdnj

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