ฉันจะอัพเกรดเวอร์ชั่น PHP เป็นเวอร์ชั่นเสถียรล่าสุดได้อย่างไร


69

ฉันใช้ระบบที่ทำงานบน Ubuntu 12.04 LTS ระบบปฏิบัติการ 64 บิต

ฉันกำลังใช้ PHP เวอร์ชันต่อไปนี้ในเครื่องนี้:

คำสั่งที่ใช้ในการรับข้อมูลด้านล่างที่สถานี: php -v

รายละเอียดที่ฉันได้รับมีดังนี้:

PHP 5.5.19-1+deb.sury.org~precise+1 (cli) (built: Nov 19 2014 19:32:34) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

ตอนนี้ฉันต้องการอัพเกรดซอฟต์แวร์ PHP เป็นเวอร์ชัน 5.5.20

ก่อนถามคำถามฉันลองทำตามคำสั่ง:

sudo apt-get update

ข้อมูลบางอย่างปรากฏขึ้น จากนั้นฉันก็กดคำสั่งต่อไปนี้อีกครั้ง:

php -v

แต่ซอฟต์แวร์ PHP ก็ยังไม่อัปเดต

ฉันจะทำสิ่งนี้ได้อย่างไร


1
คุณได้รับ PHP 5.5 จาก 12.04 เป็นครั้งแรกได้อย่างไร? packages.ubuntu.com/precise-updates/php5กล่าวว่ามีเพียง 5.3
muru

@muru: ที่ฉันไม่รู้ แต่ตอนนี้ฉันใช้ PHP 5.5.19 คือความจริง
PHPLover

2
เราไม่รู้จะอัพเกรดได้อย่างไร? และคุณทำอะไรsudo apt-get upgradeหลังจากupdate?
muru

คำตอบ:


86

apt-get updateอัพเดตเฉพาะรายการแพ็กเกจ ในการอัพเกรดแพ็คเกจจริง ๆคุณต้องเรียกใช้:

sudo apt-get upgrade

หรือ

sudo apt-get dist-upgrade

ข้อมูลเพิ่มเติมที่นี่


หากคุณรันคำสั่งข้างต้น แต่แพคเกจยังไม่ได้รับการอัพเกรดคุณอาจไม่ได้เพิ่มPHP PPAของOndřejSurý ลงในระบบของคุณ

รันสิ่งต่อไปนี้เพื่อเพิ่ม PPA:

  • สำหรับ PHP 5.5, PHP 5.6 และ PHP 7.0:

    sudo apt-add-repository ppa:ondrej/php
    
  • สำหรับ PHP 5.4 (คัดค้านให้อัปเกรดเป็นอย่างน้อยเป็น PHP 5.5):

    sudo apt-add-repository ppa:ondrej/php5-oldstable
    
  • สำหรับ PHP 5.5 (เลิกใช้แล้วppa:ondrej/php):

    sudo apt-add-repository ppa:ondrej/php5
    
  • สำหรับ PHP 5.6 (เลิกใช้แล้วppa:ondrej/php):

    sudo apt-add-repository ppa:ondrej/php5-5.6
    

จากนั้นอัพเดตรายการแพ็กเกจและทำการอัพเกรด:

sudo apt-get update

สำหรับ PHP 5.5:

sudo apt-get install php5.5

สำหรับ PHP 5.6:

sudo apt-get install php5.6

สำหรับ PHP 7:

sudo apt-get install php7.0

การอัพเกรดที่วางจำหน่าย

หากคุณต้องการติดตั้ง PHP ล่าสุด (ตัวอย่างPHP7) แต่คุณต้องการยึดติดกับแพ็คเกจของรุ่นที่มีการแฮ็คแหล่งข้อมูลรอบตัว และคุณต้องการอัพเกรดเต็มรูปแบบ (ตัวอย่างเช่นคุณอยู่ในUbuntu 14.04- ซึ่งไม่มี php7- และคุณต้องการไปที่Ubuntu 16.04- ซึ่งไม่ - แล้วคุณสามารถทำได้:

do-release-upgrade

ตอนนี้คุณควรมี PHP เวอร์ชันล่าสุด


4
apt-get install php5
rotaercz

ในการอัปเกรดเวอร์ชัน 5.4 ของคุณ PHP, แทนที่ด้วยondrej/php5 ondrej/php5-oldstableในการอัปเกรดเวอร์ชัน 5.6 ของคุณ PHP, แทนที่ด้วยondrej/php5 ondrej/php5-5.6
usandfriends

ตามที่ rotaercz กล่าว แต่ไม่ชัดเจนเกี่ยวกับเรื่องนี้คุณอาจต้องทำapt-get install php5ตามลำดับการเพิ่ม / อัปเดต / อัปเดต / อัปเดตดั้งเดิมของ Eric สำหรับ php เพื่ออัปเกรดเป็นเวอร์ชันล่าสุด เอริคคุณอาจต้องการแก้ไขคำตอบเพื่อรวมขั้นตอนสุดท้าย
Dale Anderson

หลังจากติดตั้งphp5-5.6PPA ฉันก็วิ่งsudo apt-get install php5แต่เวอร์ชัน PHP ของฉันยังบอกว่าPHP 5.5.9-1ubuntu4.14 (cli) (built: Oct 28 2015 01:34:46)
BadHorsie

1
@EdwardBlack add-apt-repositoryลอง software-properties-commonหรือบางทีคุณอาจจะต้องติดตั้งแพคเกจ
Eric Carvalho

5

รันสิ่งต่อไปนี้เพื่อเพิ่ม PPA:

sudo apt-add-repository ppa:ondrej/php5

โดยการอัพเกรด PHP จากรุ่น5.3ไป5.5นี้อาจปรับรุ่นอาปาเช่ของคุณจากรุ่นไป2.2 2.4ดังนั้นระวัง


2
sudo: apt-add-repository: command not found
Black

1
@EdwardBlack dosudo apt-get install software-properties-common python-software-properties
Jadeye

5

สำหรับกระบวนการอัพเดตล่าสุดให้ใช้คำสั่งต่อไปนี้

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

จากนั้นรันคำสั่งต่อไปนี้ในเทอร์มินัล

sudo apt-get update 

สิ่งนี้จะทำงานได้ดีเมื่อติดตั้ง php 5.5,5.6 และ 7.0

หากมีข้อผิดพลาดบางคำสั่งนี้จะแก้ไขข้อผิดพลาด

sudo dpkg --configure -a

1

ถ้าคุณต้องการอัพเกรด PHP 5.3 เป็น 5.5 เท่านั้นและไม่ต้องการอัพเกรดระบบคุณต้องติดตั้ง apache 2.4 เช่นกัน

sudo apt-add-repository ppa:ondrej/apache2 -y
sudo add-apt-repository ppa:ondrej/php -y
sudo aptitude update
sudo apt-get install apache2 libapache2-mod-php5 

ระวังเกี่ยวกับการเปลี่ยนแปลงบางอย่างใน apache 2.4 ที่เกี่ยวข้องกับต้องให้สิทธิ์ทั้งหมด

https://httpd.apache.org/docs/current/upgrading.html


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.