Trước tiên, bạn cần cài đặt php5-fpm
và php7.0-fpm
từ PPA của Ondřej Surý cho php5 và php7.0 có thể cài đặt được. :
sudo apt-get install python-software-properties
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
Chúng tôi sau đó, với nginx
, đề nghị sử dụng các gói FPM. Vì vậy, cài đặt các gói phù hợp:
sudo apt-get update
# We need to ***remove*** php5 packages, so we can use php5.6 packages
# from the PPA instead
sudo apt-get remove php5-common
sudo apt-get autoremove
# Now we install php5.6 packages.
sudo apt-get install php5.6-fpm
# Now, install php7.0-fpm. You may need to install separate PHP plugins
# for databases, extensions, etc. later.
sudo apt-get install php7.0-fpm
Nguồn: Câu trả lời về "Cách cài đặt php 7?" câu hỏi , và nhận xét tùy chỉnh và sửa đổi từ bản thân tôi.
Thứ hai , nginx
. nginx
chỉ có thể tốt như cấu hình của bạn. Bạn rất có thể có một khối xử lý PHP trên (các) khối máy chủ nginx của bạn tương tự như thế này (từ cấu hình ví dụ 'mặc định'):
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
Cấu hình này sẽ chỉ vượt qua php5-fpm
. Trong thực tế, điều này sẽ áp dụng cho toàn bộ khối máy chủ của bạn. Cách dễ nhất để thực hiện điều này là có một khối máy chủ thứ hai (ví dụ: giả sử test.domain.tld
) và cung cấp thay thế đích PHP 7.0 fastcgi_pass
. Trong php7.0 trên Xenial, điều này sẽ kết thúc một cái gì đó như thế này (được trích xuất từ một bản sửa lỗi được tải lên gần đây với gói Xenial nginx), tuy nhiên tôi không biết cách bố trí gói Ondrej vì vậy tôi không thể đưa ra thông tin cụ thể chính xác ở đó (kiểm tra /etc/php7.0/fpm/pool.d/www.conf
hoặc tương tự để xác định nơi nó đang nghe):
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php7.0-fpm:
fastcgi_pass unix:/var/run/php7.0-fpm.sock;
}
Bạn sẽ phải làm một cái gì đó tương tự cho php5
khối của mình , để xác thực rằng php5.6
các ổ cắm được sử dụng thay vì php5
ổ cắm tích hợp (mà chúng tôi vừa gỡ bỏ).
Sau đó, sử dụng miền thử nghiệm thứ hai để chạy php7.0
thử nghiệm. Tuy nhiên, hãy đảm bảo tạo một bản sao của trang web của bạn nếu bạn muốn làm điều này - có thể cần phải có một bản sao thử nghiệm riêng biệt để sau khi bạn hoàn thành việc này php7.0
, bạn có thể 'chuyển đổi' mà không cần vấn đề.
Thật không may, không có cách dễ dàng để tạo php5
và php7.0
hoạt động trong cùng một khối máy chủ, không phải là không thay đổi đường dẫn của bạn cho trang web, ứng dụng, v.v. để có một cho php5
và một cho php7.0
; việc làm lại các trang web như vậy có thể trở nên khó chịu, do đó đề xuất chạy hai bản sao riêng biệt của mã trang web, một cho php7.0
di chuyển và một cho php5
sản xuất.
*php5.6*
gói mà Ondřej cung cấp và xóa cácphp5
gói đơn giản .