Cara menurunkan versi dari PHP 5.4 ke 5.3

18

Baru-baru ini saya memutakhirkan PHP ke 5.4, tetapi tampaknya gagal pada saya karena APC tidak bekerja dengannya, namun ini tidak memberi saya pilihan selain menurunkannya ke 5.3, bagaimana saya bisa melakukan ini?

Saya mengeksekusi apt-get remove php5dan apt-get purge php5kemudian saya menghapus 5,4 repo dari apt-get kemudian dieksekusi apt-get install php5, ia mengatakan itu menginstal 5.3, dan saya restart php-fastcgidan php5-fpmtetapi ketika saya menjalankannya php -vmengatakan 5.4.

Bagaimana saya bisa menurunkan versi 5,4 ke 5,3?

Server saya menjalankan Ubuntu 11.04.

MacMac
sumber

Jawaban:

11

Downgrade PHP 5.4 ke 5.3

Di Ubuntu proses downgrade sangat berantakan. Berikut ini skrip yang menurut Anda berguna ( menghapus PHP 5.4 dan menginstal PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Di mana versi yang tersedia Anda dapat memeriksa dengan perintah: apt-cache showpkg php5

Setelah instalasi, verifikasi dengan perintah: php --version

Harap berhati-hati dan jangan menginstal paket lain tanpa versi paket yang ditentukan (seperti php5-xcache), jika tidak apt-get akan mengganti instance PHP Anda dengan 5.4 lagi!

Untuk mencegah hal ini terjadi, Anda dapat memegang paket-paket ini.

Memegang paket menggunakan dpkg

Untuk menyimpan paket dengan dpkg, Anda dapat menjalankan perintah berikut:

echo "php5 hold" | sudo dpkg --set-selections

Untuk menampung semua paket PHP, jalankan perintah berikut:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

Perintah berikut akan menunjukkan Anda memegang status paket php Anda:

sudo dpkg --get-selections | grep ^php

Memegang paket menggunakan aptitude

Anda juga dapat memegang paket menggunakan aptitude mis:

sudo aptitude hold php5

Lepaskan:

sudo aptitude unhold php5
kenorb
sumber
3
Di Ubuntu 13.x 5.3.10-1ubuntu3.4 tidak ada lagi.
kenorb
Bagaimana cara membatalkan apa yang ada dalam jawaban Anda?
tolgap
Maksud Anda kembali ke PHP 5.4 atau memulihkan file konfigurasi? File konfigurasi harus disimpan sebagaimana adanya (tidak ada konfigurasi pribadi yang harus dihapus). Jika Anda ingin kembali ke PHP 5.4, maka undo by untuk membuka paket yang Anda pegang dan instal ulang php5 misalnya sudo apt-get install php5dengan menginstal ulang atau menghapus / menginstal.
kenorb
4

Eksekusi pertama apt-cache showpkg php5. Di sana Anda akan melihat versi dan informasi lain tentang paket php5.

Untuk menginstal menjalankan versi tertentu apt-get install <package name>=<version>

Di Ubuntu 11.10 saya akan apt-get install php5=5.3.6-13ubuntu3.6

Luís Bianchin
sumber
6
Bagaimana jika apt-cache showpkg php5tidak ditampilkan lagi 5.3.x?
kenorb
2

Saya punya masalah serupa.

Saya menghapus repositori.

Anda harus ingat bahwa php -vmenjalankan executable dalam php-clipaket sehingga Anda harus menghapusnya juga.

Jadi saya melakukan yang berikut untuk kembali ke 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Sekarang ini akan menunjukkan versi yang diinginkan:

php -v
Denmark Javed
sumber
Menginstal 5.6 terbaru untuk saya.
JohnnyQ
2

Mungkin panduan ini akan membantu Anda: Cara menurunkan versi paket di Ubuntu

Jadi untuk mengunduh dan menginstal paket apa pun dari versi apa pun yang tersedia, Anda harus melakukan ini:

sudo apt-get install Package=Version
rɑːdʒɑ
sumber
1

dari langkah-langkah yang Anda jelaskan, Anda lupa untuk memperbarui apt-get setelah membersihkan php5.4 dan menghapus repo php5.4.

dengan asumsi Anda tidak memiliki repo lagi di sumber apt, jika Anda menjalankan:

apt-get remove --purge php5 && apt-get update && apt-get install php5

Anda harus kembali ke 5.3

tidak akan
sumber
Di Ubuntu 13.x, secara default php5 menunjuk ke 5.4.x
kenorb