很多人在使用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配置文件的一致性,否则可能会出现各种奇怪的问题。