淘先锋技术网

首页 1 2 3 4 5 6 7

很多人在使用lnmp搭建网站时,会遇到需要切换不同版本的php的情况。例如,在某些应用程序中,需要使用php5.6版本,而在其他应用程序中则需要php7.0或更高版本。

在lnmp中,我们可以通过修改nginx和php-fpm的配置文件来切换php版本。下面是切换php5.6和php7.0的详细步骤。

切换到php5.6

切换到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

切换到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配置文件的一致性,否则可能会出现各种奇怪的问题。