Đối với mỗi phiên bản PHP ServerPilot cài đặt trên máy chủ của bạn, ServerPilot cũng cài đặt giao diện dòng lệnh PHP [CLI] cho phiên bản PHP đó. Mỗi phiên bản PHP CLI có sẵn thông qua một lệnh khác nhau cho mỗi phiên bản PHP
Nếu bạn chỉ muốn sử dụng lệnh php mà không chỉ định phiên bản PHP, thì phiên bản PHP CLI mặc định của máy chủ của bạn sẽ được sử dụng
Phiên bản PHP CLI mặc định cũng sẽ là phiên bản PHP được sử dụng khi bạn sử dụng Trình soạn thảo bằng cách gọi lệnh trình soạn thảo mà không chỉ định phiên bản PHP
Tương tự, phiên bản PHP CLI mặc định cũng sẽ là phiên bản PHP được sử dụng khi bạn sử dụng WP-CLI bằng cách gọi lệnh wp mà không chỉ định phiên bản PHP
Thay đổi phiên bản PHP CLI mặc định sẽ không thay đổi phiên bản PHP được sử dụng bởi bất kỳ ứng dụng nào của bạn. Bạn có thể thay đổi phiên bản PHP của ứng dụng thông qua cài đặt của ứng dụng trong ServerPilot
Xác định phiên bản hiện tại của lệnh php
Để xem phiên bản PHP nào hiện được định cấu hình làm lệnh php trên máy chủ của bạn, hãy SSH vào máy chủ của bạn và chạy lệnh
php -v
Bạn sẽ thấy đầu ra như thế này
PHP 7.0.5 [cli] [built: Apr 4 2016 17:05:05] [ NTS ] Copyright [c] 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright [c] 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright [c] 1999-2016, by Zend Technologies
Bạn có thể thấy phiên bản PHP trong đầu ra dòng đầu tiên. Trong ví dụ trên, phiên bản PHP là 7. 0
Nếu bạn thấy php. không tìm thấy lệnh, bạn nên sử dụng hướng dẫn bên dưới để đặt phiên bản của lệnh php
Đặt phiên bản của lệnh php
Để đặt hoặc thay đổi phiên bản của lệnh php, hãy SSH vào máy chủ của bạn với quyền root và chạy các lệnh sau
sudo apt-get install sp-php-cli
sudo dpkg-reconfigure sp-php-cli
Bạn sẽ thấy một menu cho phép bạn chọn phiên bản PHP mặc định cho lệnh php. Khi bạn chọn phiên bản bạn muốn sử dụng làm phiên bản PHP CLI mặc định, hãy nhấn Enter
Nhờ các đường dẫn được đặt tên theo phiên bản của cấu hình, thư viện và tệp nhị phân PHP, các phiên bản PHP khác nhau có thể được cài đặt song song trên cùng một máy chủ. Đây là một trợ giúp tuyệt vời khi chuyển ứng dụng web PHP sang phiên bản PHP mới. Bằng cách sử dụng các phiên bản PHP-FPM khác nhau chạy song song, cấu hình Apache [hoặc Nginx] có thể được điều chỉnh đơn giản cho trình nghe hoặc ổ cắm PHP-FPM
Mặc dù việc chuyển đổi các phiên bản PHP của ứng dụng web là một công cụ thay đổi một dòng đơn giản trong cấu hình máy chủ web [vhost], nhưng có các tập lệnh khác trên dòng lệnh, trong đó việc chuyển đổi không đơn giản như vậy
Nhìn vào dòng lệnh Wordpress [wp cli] chẳng hạn. Lệnh wp là một tập lệnh PHP, được thực thi trên dòng lệnh
ck@server. ~$ đầu -n 1 /usr/local/bin/wp
#. /usr/bin/env php
Kịch bản sử dụng lệnh php từ hệ thống. wp có thể cho chúng tôi biết đây là phiên bản PHP nào
ck@server. ~$ wp thông tin cli
OS. Linux4. 19. 0-17-amd64 #1 SMP Debian 4. 19. 194-2 [21-06-2021] x86_64
Vỏ. /bin/bash
PHP nhị phân. /usr/bin/php8. 1
Phiên bản PHP. số 8. 1. 2
php. ini đã sử dụng. /etc/php/8. 1/cli/php. ini
MySQL nhị phân. /usr/bin/mysql
Phiên bản MySQL. mysql Phiên bản 15. 1 phân phối 10. 5. 12-MariaDB, dành cho debian-linux-gnu [x86_64] sử dụng EditLine wrapper
Chế độ SQL.
Thư mục gốc WP-CLI. phar. //wp-cli. phar/vendor/wp-cli/wp-cli
Thư mục nhà cung cấp WP-CLI. phar. //wp-cli. phar/nhà cung cấp
WP_CLI đường dẫn phar. /home/ckadm
Thư mục gói WP-CLI.
Cấu hình chung WP-CLI.
Cấu hình dự án WP-CLI.
Phiên bản WP-CLI. 2. 6. 0
Nhưng nếu wp [hoặc bất kỳ tập lệnh PHP nào khác] được sử dụng trên một ứng dụng web chạy trên một phiên bản PHP khác, điều này có thể gây ra sự cố
Cách giải quyết 1. Khởi chạy tập lệnh với cli PHP cụ thể
Thay vì chạy wp trực tiếp [sẽ tra cứu phiên bản PHP "mặc định" trên hệ thống], thay vào đó hãy khởi chạy tập lệnh với một PHP CLI cụ thể
ck@server. ~$ /usr/bin/php7. 4 /usr/local/bin/wp thông tin cli
OS. Linux4. 19. 0-17-amd64 #1 SMP Debian 4. 19. 194-2 [21-06-2021] x86_64
Vỏ. /bin/bash
PHP nhị phân. /usr/bin/php7. 4
Phiên bản PHP. 7. 4. 27
php. ini đã sử dụng. /etc/php/7. 4/cli/php. ini
MySQL nhị phân. /usr/bin/mysql
Phiên bản MySQL. mysql Phiên bản 15. 1 phân phối 10. 5. 12-MariaDB, dành cho debian-linux-gnu [x86_64] sử dụng EditLine wrapper
Chế độ SQL.
Thư mục gốc WP-CLI. phar. //wp-cli. phar/vendor/wp-cli/wp-cli
Thư mục nhà cung cấp WP-CLI. phar. //wp-cli. phar/nhà cung cấp
WP_CLI đường dẫn phar. /home/ckadm
Thư mục gói WP-CLI.
Cấu hình chung WP-CLI.
Cấu hình dự án WP-CLI.
Phiên bản WP-CLI. 2. 6. 0
Về mặt tích cực, điều này mang lại cho bạn một cách linh hoạt để sử dụng các phiên bản PHP khác nhau trên các tập lệnh PHP. Nhưng khả năng bạn quên phiên bản PHP cụ thể trước tập lệnh PHP là khá cao
Cách giải quyết 2. Sử dụng các lựa chọn thay thế
Alternatives là một cài đặt hệ thống có sẵn trong hầu hết các bản phân phối Linux và cho phép thay đổi đường dẫn thành tệp nhị phân hoặc tập lệnh. Điều này cũng cho phép cài đặt [biên dịch và] thủ công phần mềm mới hơn và chạy phiên bản mới cùng với phiên bản từ kho lưu trữ gói [xem Cài đặt/nâng cấp cmake trên Ubuntu bằng các lựa chọn thay thế để biết ví dụ]
Trên hệ thống này, đường dẫn hiện tại của /usr/bin/php trỏ tới /etc/alternatives/php
ck@server. ~$ ls -la /usr/bin/php
lrwxrwxrwx 1 root root 21/12 5 2018 /usr/bin/php -> /etc/alternatives/php
Đây thường là bằng chứng cho thấy các lựa chọn thay thế được định cấu hình. Bằng cách sử dụng lệnh update-alternatives [trên các bản phân phối dựa trên Debian], có thể kiểm tra cấu hình hiện tại
ck@server. ~$ Sudo update-alternatives --get-selections. grep php
php auto /usr/bin/php8. 1
Cấu hình hiện tại cho phép /usr/bin/php trỏ tới /usr/bin/php8. 1
Để thay đổi phiên bản PHP trong các lựa chọn thay thế, chúng ta có thể cài đặt một thay thế mới với mức độ ưu tiên cao hơn [99]