在LNMP(Linux, Nginx, MySQL, PHP)环境下切换PHP版本,可以通过以下步骤实现:
- 安装多个PHP版本
首先,你需要在你的服务器上安装多个PHP版本。以Ubuntu为例,你可以使用以下命令安装两个不同版本的PHP:
sudo apt-get install php7.2 php7.4
这将在你的服务器上安装PHP 7.2和7.4。你可以根据需要安装其他版本。
- 安装PHP-FPM
PHP-FPM(FastCGI Process Manager)是一个PHP FastCGI实现,它可以与Nginx一起使用。确保你已经安装了PHP-FPM:
sudo apt-get install php7.2-fpm php7.4-fpm
- 配置Nginx
编辑Nginx配置文件(通常位于/etc/nginx/sites-available/your_domain.conf
),为每个PHP版本创建一个新的location
块。例如:
location ~ \.php7\.2$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } location ~ \.php7\.4$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; }
这里,我们为PHP 7.2和7.4分别创建了两个location
块,并指定了相应的PHP-FPM socket文件。
- 更新你的应用程序
确保你的应用程序使用正确的PHP版本。你可以通过修改.htaccess
文件或应用程序的配置文件来实现这一点。例如,如果你使用的是PHP 7.4,你可以将.htaccess
文件中的以下行添加到文件顶部:
AddHandler application/x-httpd-php74 .php
- 重启Nginx
保存所有更改后,重启Nginx以应用新的配置:
sudo service nginx restart
现在,你的服务器应该可以根据请求的PHP版本来处理PHP文件了。你可以通过访问你的应用程序并检查phpinfo()
输出来验证这一点。