Hướng dẫn can i run two versions of php on server? - tôi có thể chạy hai phiên bản php trên máy chủ không?

Tôi có hai dự án trên máy chủ cục bộ, một dự án đang chạy PHP5.6 và dự án còn lại đang chạy PHP7.0. Bây giờ có thể kích hoạt hai phiên bản này dựa trên các dự án không? Tôi đã thử thêm

 
     AddHandler php56-fcgi .php
     Action php56-fcgi /php56-fcgi
     Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
     Action php70-fcgi /php70-fcgi
     Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
 
 
     Require all granted
 
2 vào một trong những dự án htaccess nhưng nó không hoạt động. Hiện tại, PHP7.0 và PHP5.6-FPM đã được cài đặt trên máy chủ. Dưới đây là ảnh chụp màn hình của
 
     AddHandler php56-fcgi .php
     Action php56-fcgi /php56-fcgi
     Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
     Action php70-fcgi /php70-fcgi
     Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
 
 
     Require all granted
 
3.

Đã hỏi ngày 9 tháng 3 năm 2017 lúc 13:37Mar 9, 2017 at 13:37

5

Vì vậy, sau khi tìm kiếm trên google cho cả ngày. Tôi đã quản lý để chạy hai dự án của mình trong FastCGI trên các phiên bản PHP khác nhau. Cảm ơn những người từ diễn đàn này.

Tôi đã gỡ cài đặt mọi thứ bao gồm cả Apache và bắt đầu lại. Dưới đây là các bước tôi đã sử dụng để kích hoạt hai phiên bản PHP trên máy chủ cục bộ của mình. BTW, máy tính của tôi đang chạy trên Linux Mint 18.

  1. Giả sử bạn đã cài đặt Apache, tạo máy chủ ảo cho hai dự án và thêm các PPA PHP cần thiết. Hãy gọi các dự án

     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    4 cho Php 5.6 và
     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    5 cho Php 7.0. Cài đặt
     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    6 và
     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    7 bằng cách chạy:

     sudo apt-get install php5.6-fpm
     sudo apt-get install php7.0-fpm
    
  2. Tạo hai tệp theo

     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    8 [thành thật mà nói, tôi không biết bước này có cần thiết không] và lưu:

     sudo nano /usr/lib/cgi-bin/php56-fcgi
     sudo nano /usr/lib/cgi-bin/php70-fcgi
    
  3. Mở tệp Php56 Conf

     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
    9, thêm cấu hình này và lưu:

     
         AddHandler php56-fcgi .php
         Action php56-fcgi /php56-fcgi
         Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
         Action php70-fcgi /php70-fcgi
         Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
     
     
         Require all granted
     
    
  4. Bây giờ bật cấu hình Apache mới:

     sudo a2enconf php5.6-fpm
    
  5. Nếu bạn đã cài đặt PHP5.6 và PHP5.7, hãy đảm bảo bạn vô hiệu hóa hai và khởi động lại Apache:

     sudo a2dismod php5.6 php7.0
     sudo systemctl restart apache2
    
  6. Tạo tệp

     sudo a2enconf php5.6-fpm
    
    0 trên dự án sẽ chạy trên Php7.0 và thêm trình xử lý này:

     AddHandler php70-fcgi .php
    
  7. Bây giờ hãy tạo một tệp PHPINFO trên hai dự án và nếu bạn thấy một cái gì đó như thế này, thì hãy chúc mừng!

Tái bút: Đảm bảo bạn bật

 sudo a2enconf php5.6-fpm
1 trong
 sudo a2enconf php5.6-fpm
2 hoặc
 sudo a2enconf php5.6-fpm
3 của bạn

 sudo a2enconf php5.6-fpm
4:

 sudo a2enconf php5.6-fpm
5:

Đã trả lời ngày 10 tháng 3 năm 2017 lúc 13:20Mar 10, 2017 at 13:20

MAKUBEXMAKUBEXMakubex

1.3221 Huy hiệu vàng14 Huy hiệu bạc23 Huy hiệu đồng1 gold badge14 silver badges23 bronze badges

4

Trước hết, đảm bảo tất cả các cấu hình liên quan đến PHP bị vô hiệu hóa bằng cách chạy các lệnh sau:

# ls -LA/etc/apache2/bef -befable | GREP PHP

# ls -la/etc/apache2/mod -hỗ trợ | GREP PHP

Thiết lập một phiên bản khác của PHP-FPM cho một trang web cụ thể:

Thêm dòng sau vào tệp ảo hiện tại của bạn.

Include "conf-available/php7.2-fpm.conf"

Ví dụ,

# vim /etc/apache2/sites-enables/symfony.local.conf


    ServerName symfony.local

    Include "conf-available/php7.2-fpm.conf"

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/symfony.local/curr/public

    
        AllowOverride All
    

Đã trả lời ngày 28 tháng 1 năm 2018 lúc 8:27Jan 28, 2018 at 8:27

Jun Hsiehjun HsiehJun Hsieh

1.50413 huy hiệu bạc9 Huy hiệu đồng13 silver badges9 bronze badges

2

Nó không hoạt động cho Debian 9 kéo dài. Phải mất một thời gian để tôi phải làm gì nhưng cuối cùng tôi đã tìm thấy một giải pháp dường như thậm chí còn dễ dàng hơn:

sudo apt-get install php5.6-fpm

sudo apt-get install php7.0-fpm

sudo a2enconf php5.6-fpm

Nếu bạn đã cài đặt PHP5.6 và PHP5.7, hãy đảm bảo bạn vô hiệu hóa hai và khởi động lại Apache.

sudo a2dismod php5.6 php7.0

sudo systemctl restart apache2

Tại thời điểm này, tất cả các trang web của bạn phải hoạt động trên PHP 5.6.

Đối với các trang web cần Php 7, hãy thêm dòng này vào vhost:

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
0

Nó sẽ làm các trick :]

Đã trả lời ngày 19 tháng 10 năm 2017 lúc 13:58Oct 19, 2017 at 13:58

JgljglJGL

6977 Huy hiệu bạc16 Huy hiệu đồng7 silver badges16 bronze badges

Tôi đã cố gắng thực hiện giải pháp của Makubex và nó đã hoạt động. Chỉ có một vấn đề tôi gặp phải với một đèn mới được cài đặt và đó là thực tế là Fastcgi không được bật. Tôi vừa cài đặt lại PHP bằng cách sử dụng tập lệnh sau và bật FastCGI sau đó.

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
1

Và sau đó:

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
2

Sau này, giải pháp hoạt động hoàn hảo. Tôi đã nhận được hai ở trên từ Run nhiều phiên bản Php trên cùng một máy chủ bằng Php-FPM và XDebug trên Ubuntu 16.04

Đã trả lời ngày 8 tháng 11 năm 2017 lúc 20:32Nov 8, 2017 at 20:32

Bạn có thể làm điều này bằng cách sử dụng các tệp

 sudo a2enconf php5.6-fpm
1

Đầu tiên bạn cần cài đặt FPM được giới thiệu lại bằng cách sử dụng

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
3

Sau đó chạy lệnh bên dưới

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
4

Sau đó khởi động lại máy chủ của bạn

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
5

Sau đó thực hiện các thay đổi bên dưới trong tệp

 sudo a2enconf php5.6-fpm
1

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
6

Dưới đây là ví dụ về chạy Php 7.2 khi PHP 5.6 được bật

Đã trả lời ngày 20 tháng 1 năm 2020 lúc 9:36Jan 20, 2020 at 9:36

1

Sau khi cố gắng làm theo hướng dẫn của bạn, tôi đã tìm thấy một cách dễ dàng hơn cho cùng một kết quả.

Bằng cách thêm dòng sau

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
7

Trong cấu hình Apache VHOST, bạn có thể thay đổi phiên bản PHP bên trong thư mục Php70Project trong vhost root /var /www thành phiên bản 7 chạy dưới dạng fastcgi.

Cách tiếp cận sau đây để sử dụng với ổ cắm UNIX

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
8

không hoạt động như dự định. Thật không may, tôi không thể tìm thấy mã chính xác để có được hoạt động này nhưng không có ví dụ nào cho việc sử dụng ổ cắm unix với thư mục con trên trang đó //httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.html nó có thể không được khả thi.

Đã trả lời ngày 13 tháng 3 năm 2017 lúc 20:19Mar 13, 2017 at 20:19

Chúng tôi đã có được điều này trong trường hợp PHP trên Ubuntu + Nginx: //blog.magepsycho.com/how-to-install-multiple-versions-of-php-on-ubuntu/
//blog.magepsycho.com/how-to-install-multiple-versions-of-php-on-ubuntu/

Để thay đổi phiên bản CLI PHP

 sudo nano /usr/lib/cgi-bin/php56-fcgi
 sudo nano /usr/lib/cgi-bin/php70-fcgi
9

Để thay đổi phiên bản Php Web

 
     AddHandler php56-fcgi .php
     Action php56-fcgi /php56-fcgi
     Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
     Action php70-fcgi /php70-fcgi
     Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
 
 
     Require all granted
 
0

Trong đó PHP7.2 có thể được thay thế bằng phiên bản PHP mà bạn chọn.

Đã trả lời ngày 2 tháng 2 năm 2020 lúc 6:29Feb 2, 2020 at 6:29

MagePsychomagePsychoMagePsycho

1.9262 huy hiệu vàng28 Huy hiệu bạc58 Huy hiệu đồng2 gold badges28 silver badges58 bronze badges

Điều này được thực hiện khó khăn hơn rất nhiều bởi tất cả các gói Linux sẽ làm vấy bẩn quá trình. Hướng dẫn dễ dàng, hệ thống theo cách độc lập:

Xây dựng 2 phiên bản PHP của bạn từ nguồn. Bạn sẽ nói libphp7.so và libphp5. Vì vậy, trong thư mục mô -đun của bạn. Chỉ cần chạy một tệp httpd.conf riêng cho mỗi. Tôi đã chạy 5 và 7 trong nhiều năm:

 
     AddHandler php56-fcgi .php
     Action php56-fcgi /php56-fcgi
     Alias /php56-fcgi /usr/lib/cgi-bin/php56-fcgi -socket /var/run/php/php5.6-fpm.sock -pass-header Authorization
     Action php70-fcgi /php70-fcgi
     Alias /php70-fcgi /usr/lib/cgi-bin/php70-fcgi -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
 
 
     Require all granted
 
1

sau đó. Chỉ cần đặt các máy chủ ảo của bạn không thể chạy 7 trong cấu hình PHP5 và khởi động chúng theo cách thủ công khi khởi động hoặc tạo các tệp RC.D hoặc bất kỳ hệ thống nào của bạn sử dụng để khởi động.

Đã trả lời ngày 6 tháng 2 năm 2020 lúc 1:04Feb 6, 2020 at 1:04

DanialdanialDanial

1.36712 huy hiệu bạc15 huy hiệu đồng12 silver badges15 bronze badges

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

Có, chúng tôi có thể chạy một số phiên bản của PHP. Để làm điều đó, chúng ta phải kiểm tra tệp cài đặt, nếu nó được bao gồm trong phân phối nguồn PHP.. To do that we must have to check the INSTALL file, if it is included in PHP source distribution.

Làm cách nào để chạy nhiều phiên bản PHP trên một máy chủ bằng Apache?

Apache chạy nhiều phiên bản PHP đồng thời..
Cài đặt một số phiên bản PHP bằng PHPBrew ..
Cài đặt máy chủ web Apache với mô -đun Fastcgi ..
Tạo tập lệnh FastCGI riêng cho mỗi phiên bản PHP ..
Bản đồ tập lệnh fastcgi thích hợp để thực hiện ứng dụng web ở cấp độ máy chủ ảo ..

Làm cách nào tôi có thể chạy nhiều phiên bản PHP trong Windows?

Các bước để thay đổi cổng:..
Thay đổi tệp cấu hình cho MySQL trong My My.Tệp Ini ”..
Thay đổi cổng thành 3307 ..
Chạy mã: PHP.....
Lưu mã trên trong thư mục của HT HTDOCS của thư mục XAMPP cho phiên bản mới và cũ hơn ..
Lưu trong thư mục HTDOCS của thư mục XAMPP ..
Tương tự với XAMPP_1_8_2 ..

Làm cách nào để chuyển đổi giữa các phiên bản PHP?

Thay đổi phiên bản PHP trên trang web của bạn..
Đăng nhập vào CPanel ..
Nhấp vào liên kết Trình quản lý Multiphp trong phần Phần mềm của CPanel ..
Chọn hộp cho trang web hoặc trang web bạn muốn cập nhật ..
Chọn phiên bản PHP mong muốn từ menu thả xuống ..
Nhấp vào nút Áp dụng ..

Bài Viết Liên Quan

Chủ Đề