Hướng dẫn install php5 debian - cài đặt debian php5

Hướng dẫn cài đặt nhiều phiên bản PHP ngoài phiên bản mặc định trên máy tính cài HĐH Linux Debian.

Cài đặt nhiều phiên bản PHP trên server Debian 9

Mỗi phiên bản Linux Debian đi kèm với một phiên bản PHP nhất định, ví dụ Debian 9 (Stretch) là PHP 5.6, Debian 10 (Buster) là 7.4. Để cài đặt được những phiên bản khác, bạn phải sử dụng source repository của Ondřej Surý.

Cài đặt respository của Ondřej Surý

Cài đặt một số công cụ hỗ trợ trong quá trình cài đặt:

sudo apt-get install curl apt-transport-https lsb-release ca-certificates gnupg2

Cài đặt GPG key của source list:

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -

Tạo file cấu hình repository mới:

echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list

Cập nhật repository mới:

apt-get update

Nếu trong quá trình cập nhật repository bạn gặp lỗi sai key như sau:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: //packages.sury.org/php stretch InRelease: The following signatures were invalid: EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key <>

…thì hãy dùng lệnh sau để cập nhật lại key.

sudo apt-key adv --keyserver keys.gnupg.net --recv-keys B188E2B695BD4743

Cài đặt PHP 5.6

Mặc định PHP5 không còn được hỗ trợ trong Debian 9, nhưng với cách cài đặt này thì đây không còn là vấn đề nữa.

Phiên bản mới nhất được hỗ trợ trong Repository này là curl //packages.sury.org/php/apt.gpg | sudo apt-key add -7. Ta cài đặt phiên bản này và liên kết với Apache2 như sau:

sudo apt-get install php5.6 libapache2-mod-php5.6

Bạn có thể cài đặt thêm các extension cho PHP 5.6 như ví dụ sau:

sudo apt-get install php-pear php5.6-{mysql,curl,gd,intl,imagick,imap,mcrypt,memcache,pspell,recode,snmp,sqlite,tidy,xmlrpc,xsl,mcrypt,mbstring}

Cài đặt PHP 7.x

Repository của Ondřej Surý hỗ trợ nhiều phiên bản PHP 7. Tính đến thời điểm tháng 8/2019 thì phiên bản mới nhất là curl //packages.sury.org/php/apt.gpg | sudo apt-key add -8.

Để cài đặt PHP 7.3 – phiên bản ổn định nhất hiện tại, bạn hãy thực hiện các bước cài đặt sau (không khác gì cách cài PHP 5.6, chỉ là thay thế phiên bản).

sudo apt-get install php7.3 libapache2-mod-php7.3

Cài đặt thêm các extension:

sudo apt-get install php-pear php7.3-{mysql,curl,gd,intl,imagick,imap,mcrypt,memcache,pspell,recode,snmp,sqlite,tidy,xmlrpc,xsl,mcrypt,mbstring}

Để cài đặt thêm một phiên bản PHP7 khác, bạn hãy thay thế tương ứng phiên bản 7.3 dưới đây với phiên bản 7.x (7.0, 7.1, …) bạn mong muốn.

Để lựa chọn phiên bản PHP mặc định cho lênh curl //packages.sury.org/php/apt.gpg | sudo apt-key add -9 thành phiên bản echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list0, ta cấu hình như sau:

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -0

Sử dụng các phiên bản PHP khác nhau cho từng VirtualHost

Giả sử ta đang cài đặt hai phiên bản PHP là echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list1 và echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list0. Trước tiên ta cài đặt thêm phần mở rộng echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list3 (FastCGI Process Manager) cho cả hai phiên bản trên.

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -1

Sau khi cài đặt, daemon FPM sẽ tự động khởi chạy. Ta có thể kiểm tra trạng thái chạy bằng những lệnh sau:

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -2

Kiểm tra sự tồn tại của FPM UNIX socket của mỗi phiên bản.

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -3

Cài đặt echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list4 cho Apache2 và kích hoạt module FastCGI và một số module cần thiết.

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -4

Để lựa chọn được phiên bản PHP trong VirtualHost, ta thêm phần xử lý file PHP như sau trong các file cấu hình VirtualHost của Apache2.

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -5

Hãy chú ý đoạn echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list5 là đường dẫn đến FPM Unix socket của phiên bản PHP được sử dụng cho VirtualHost (ở đây là PHP 7.3). Hãy thay 7.3 bằng phiên bản PHP bạn muốn.

Ví dụ một file cấu hình VirtualHost cho domain echo "deb //packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list6 sử dụng PHP 5.6 như sau:

curl //packages.sury.org/php/apt.gpg | sudo apt-key add -6

Chủ đề