Tôi có thể có hai phiên bản PHP không?

Đôi khi SysAdmin nhận được các yêu cầu lạ. Ví dụ. một vài ngày trước, khách hàng của tôi cần tải lên một trang web mới, trang web mới này cần PHP7. 4 trong khi máy chủ của họ chạy với PHP7. 2. Tôi đã cài đặt rồi 7. 4 nhưng tất cả các Virtualhost khác (ít nhất là những cái quan trọng) đã bị hỏng trong php7. 4. Ban đầu tôi đang nghĩ về một số loại thùng chứa nhưng tôi đã tìm thấy thứ gì đó đơn giản hơn. Đây là cách chạy các phiên bản PHP khác nhau trên cùng một máy chủ

thiết lập của tôi

Tôi luôn tạo hoặc sử dụng lại một máy ảo cho tất cả các bài viết của mình tại đây. Bởi vì bạn nên luôn kiểm tra trước khi phá vỡ thứ gì đó quan trọng
Đối với hướng dẫn này, tôi đã tạo một bản cài đặt mới của một phiên bản ¿old? . 04. Tôi sẽ có một trang web, sitio1 (sitio là trang web trong tiếng Tây Ban Nha) cần PHP 7. 2; . 4, tình huống2

1. Thêm kho lưu trữ Ondrej php

Quay lại những ngày của tôi, bạn phải chỉnh sửa các tệp cấu hình bằng tay. Nhưng bây giờ chúng tôi có gói phần mềm thuộc tính chung này để dễ dàng quản lý các nguồn phần mềm của nhà cung cấp phần mềm độc lập và phân phối của bạn

Vì vậy, bước đầu tiên của chúng tôi là cài đặt gói đó

sudo apt-get install software-properties-common
Tôi có thể có hai phiên bản PHP không?
Cài đặt phần mềm-thuộc tính-chung

Bước thứ 2 của chúng tôi là thực sự thêm kho lưu trữ bằng cách chạy

Sudo add-apt-repository ppa. ondrej/php

Tôi có thể có hai phiên bản PHP không?
thêm một kho lưu trữ

Chú ý thông báo trên màn hình và làm theo hướng dẫn. Sau đó chạy

sudo apt-get update

2. Cài đặt hai phiên bản PHP khác nhau

2. 1. PHP7. 2

Mục tiêu của hướng dẫn này là chỉ cho bạn cách tôi quản lý để chạy các phiên bản php khác nhau trên cùng một máy chủ. Tôi không cài đặt (hầu hết) bất kỳ mô-đun php nào nhưng nếu bạn đang đọc phần này thì chắc chắn bạn cần một số trong số chúng, ví dụ như hỗ trợ mysql. Đừng quên cài đặt chúng

sudo apt-get install php7.2 php7.2-fpm libapache2-mod-php7.2 libapache2-mod-fcgid
Tôi có thể có hai phiên bản PHP không?
Cài đặt PHP7. 2 và Apache

2. 2PHP7. 4

Bây giờ lặp lại quy trình với php 7. 4. Hãy nhớ cài đặt các mô-đun php cần thiết

sudo apt-get install php7.4 php7.4-fpm libapache2-mod-php7.4
Tôi có thể có hai phiên bản PHP không?
Cài đặt PHP 7. 4

3. Bắt đầu dịch vụ fpm

Bây giờ chúng ta cần bắt đầu dịch vụ fpm cho cả hai phiên bản

sudo systemctl start php7.2-fpm
sudo systemctl start php7.4-fpm

Sau đó, bạn có thể kiểm tra trạng thái của các dịch vụ đang chạy

trạng thái sudo systemctl php7. x-fpm

Tôi có thể có hai phiên bản PHP không?
khởi động máy chủ php-fpm

4. Tạo Virtualhost

4. 1 dữ liệu VirtualHost

Chúng tôi sẽ tạo các thư mục đầu tiên trong /var/www cho mọi VirtualHost

mkdir /var/www/sitio1
mkdir /var/www/sitio2
chown  -R www-data:www-data /var/www

Thứ hai, tạo một tệp php trên mọi thư mục chỉ với nội dung sau để hiển thị thông tin php

<?php 
phpinfo(); 
?>
Tôi có thể có hai phiên bản PHP không?

4. 2 Cấu hình VirtualHost

Chúng ta cần tạo một. conf cho mọi trang web, với nội dung sau

nano /etc/apache2/sites-available/sitio1.conf
<VirtualHost *:80>
     ServerAdmin admin@sitio1
     ServerName sitio1
     DocumentRoot /var/www/sitio1
     DirectoryIndex info.php
     <Directory /var/www/sitio1>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>

    <FilesMatch \.php$>
      # this part do the trick
      SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
    </FilesMatch>

     ErrorLog ${APACHE_LOG_DIR}/sitio1_error.log
     CustomLog ${APACHE_LOG_DIR}/sitio1_access.log combined
</VirtualHost>

Tạo một tệp khác /etc/apache2/sites-available/sitio2. conf thay đổi thông tin phù hợp (sitio1 trở thành sitio2, php7. 2 trở thành php7. 4, v.v.)

Tôi có thể có hai phiên bản PHP không?
Định cấu hình máy chủ ảo

5. Thêm thông tin DNS

Hay không. Ý tôi là, trong thực tế, bạn sẽ cần tạo các bản ghi DNS phù hợp cho cả hai trang web. Vì điều này chỉ dành cho mục đích kiểm tra và học tập, tôi chỉ tạo hồ sơ trên tệp /etc/hosts của mình. Địa chỉ IP của máy ảo này là 192. 168. 122. 14

Tôi có thể có hai phiên bản PHP không?
/etc/hosts tập tin

Biết rằng tôi có thể giải quyết sitio1 và sitio2

6. Kích hoạt mọi thứ

Chúng tôi cần kích hoạt một số mô-đun apache cần thiết để xử lý cấu hình này. Sau đó, để kích hoạt máy chủ ảo và cuối cùng là khởi động apache

sudo a2enmod actions fcgid alias proxy_fcgi
sudo a2ensite sitio1
sudo a2ensite sitio2
sudo systemctl start apache2
Tôi có thể có hai phiên bản PHP không?
bật máy chủ ảo và khởi động apache2

Bạn cũng có thể kiểm tra cấu hình để tìm lỗi chính tả, thiếu mô-đun hoặc bất kỳ vấn đề nào khác với

sudo apt-get update
0

7. thời gian kiểm tra

Bây giờ chúng ta cần trỏ trình duyệt tới http. //sitio1 và http. //sitio2 và kiểm tra xem chúng có chạy đúng phiên bản PHP không

Tôi có thể có hai phiên bản PHP không?
Một trong hai chạy đúng php
Tôi có thể có hai phiên bản PHP không?
Hai trong số hai chạy tốt.

¡Yay. Và đây là cách chạy các phiên bản PHP khác nhau trên cùng một máy chủ. Bây giờ tôi tò mò về những kết hợp khác mà tôi có thể thử

Thưởng. Ubuntu cũ hơn

Khách hàng của tôi thực sự có Ubuntu 16 đã ngừng hỗ trợ vào tháng 4 năm 2021. Kho lưu trữ mà tôi phải thêm vào là

sudo apt-get update
1

Tôi có thể chạy nhiều phiên bản PHP cùng một lúc không?

Cùng nhau, bạn có thể sử dụng Apache và PHP-FPM để lưu trữ nhiều ứng dụng web PHP, mỗi ứng dụng sử dụng một phiên bản PHP khác nhau, tất cả trên cùng một máy chủ và tất cả tại . .

Làm cách nào để sử dụng nhiều phiên bản PHP trong Windows?

Ẩn nội dung .
1 Tải xuống phiên bản PHP
2 Định cấu hình php. ban đầu
3 Đặt biến Môi trường Windows cho PHP
4 Cấu hình Apache
5 Định cấu hình ứng dụng của bạn để sử dụng một phiên bản PHP nhất định

Có cách nào để sử dụng hai phiên bản PHP trong xampp không?

Thiết lập hỗ trợ cho nhiều phiên bản PHP .
Bước 1 – Tải xuống phiên bản PHP mới của bạn. Như đã đề cập ở trên, tôi sử dụng Windows 10. .
Bước 2 – Giải nén các tệp vào thư mục XAMPP của bạn. .
Bước 3 – Tải xuống CGI nhanh. .
Bước 4- Cài đặt CGI nhanh. .
Bước 5 – Cập nhật cấu hình XAMPP. .
Bước 6 – Thay đổi phiên bản PHP của dự án

Cách hạ cấp PHP 8 xuống 7. 4 trong Ubuntu?

Nâng cấp hoặc hạ cấp phiên bản PHP .
Đảm bảo các gói php cho phiên bản bạn muốn đã được cài đặt
Cập nhật bất kỳ cấu hình nào cho phiên bản PHP đó
Cập nhật cấu hình máy chủ web của bạn để trỏ đến đúng phiên bản PHP
Trỏ PHP CLI đến đúng phiên bản PHP
Khởi động lại máy chủ web của bạn và php-fpm