在LNMP(Linux, Nginx, MySQL, PHP)環境下切換PHP版本,可以通過以下步驟實現:
首先,你需要在你的服務器上安裝多個PHP版本。以Ubuntu為例,你可以使用以下命令安裝兩個不同版本的PHP:
sudo apt-get install php7.2 php7.4
這將在你的服務器上安裝PHP 7.2和7.4。你可以根據需要安裝其他版本。
PHP-FPM(FastCGI Process Manager)是一個PHP FastCGI實現,它可以與Nginx一起使用。確保你已經安裝了PHP-FPM:
sudo apt-get install php7.2-fpm php7.4-fpm
編輯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以應用新的配置:
sudo service nginx restart
現在,你的服務器應該可以根據請求的PHP版本來處理PHP文件了。你可以通過訪問你的應用程序并檢查phpinfo()
輸出來驗證這一點。