很多人在使用lnmp搭建網站時,會遇到需要切換不同版本的php的情況。例如,在某些應用程序中,需要使用php5.6版本,而在其他應用程序中則需要php7.0或更高版本。
在lnmp中,我們可以通過修改nginx和php-fpm的配置文件來切換php版本。下面是切換php5.6和php7.0的詳細步驟。
切換到php5.6
#打開/etc/nginx/conf.d/default.conf文件,找到fastcgi_pass配置項: location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi_params; } #修改為: location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/usr/local/php56/var/run/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; } #重啟nginx和php-fpm service nginx restart service php56-fpm restart
現在,nginx將使用php5.6的fastcgi進程進行處理php腳本。如果您的網站已經安裝了php5.6,那么您可以訪問網站并驗證是否已經切換到php5.6。
切換到php7.0
#打開/etc/nginx/conf.d/default.conf文件,找到fastcgi_pass配置項: location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fastcgi_params; } #修改為: location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/usr/local/php7.0-fpm/var/run/php-fpm.sock; fastcgi_index index.php; include fastcgi_params; } #重啟nginx和php-fpm service nginx restart service php70-fpm restart
以上代碼將nginx的fastcgi_pass指向了php7.0的fastcgi進程,因此現在nginx將使用php7.0進行處理php腳本。您可以訪問您的網站,以驗證是否已經切換到php7.0。
總結:
通過以上步驟,我們可以輕松地切換lnmp中的php版本,以便滿足不同應用的需求。同時,我們需要特別注意保持nginx和php-fpm配置文件的一致性,否則可能會出現各種奇怪的問題。
上一篇ajax 無刷新更新數據
下一篇lnmp php-fpm