php7.1 ,7.2 多版本共存,同一台电脑不同项目使用不通PHP版本参考: php-fpm报502问题

举报
lxw1844912514 发表于 2022/03/27 01:47:21 2022/03/27
【摘要】 /usr/local/php/sbin/php-fpm -v #启动 php7.1 注意: 1 . 关闭这个应用文件 include enable-php.conf 2. 对于这个项目,使用你的 unix:/tmp/php72-cgi.sock 3. 重启 nginx : service ng...

/usr/local/php/sbin/php-fpm -v #启动 php7.1
 

注意:

1 . 关闭这个应用文件  include enable-php.conf

  
2. 对于这个项目,使用你的   unix:/tmp/php72-cgi.sock
  

3. 重启 nginx :

service nginx restart    #reload 不生效
  

geekpanda.conf


  
  1. server
  2. {
  3. listen 80 ;
  4. #listen [::]:80 default_server ipv6only=on;
  5. server_name geekpandalocal.com www.geekpandalocal.com;
  6. index index.html index.htm index.php;
  7. root /home/wwwroot/default/newproject/uugeekpandashare;
  8. #error_page 404 /404.html;
  9. # Deny access to PHP files in specific directory
  10. #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
  11. #include enable-php.conf; #1 . 关闭这个应用文件
  12. location /nginx_status
  13. {
  14. stub_status on;
  15. access_log off;
  16. }
  17. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  18. {
  19. expires 30d;
  20. }
  21. location ~ .*\.(js|css)?$
  22. {
  23. expires 12h;
  24. }
  25. location ~ /.well-known {
  26. allow all;
  27. }
  28. location / {
  29. if (!-e $request_filename){
  30. rewrite ^/(.*)$ /index.php?s=/$1 last;
  31. }
  32. }
  33. location ~ /\.
  34. {
  35. deny all;
  36. }
  37. #2. 对于这个项目,使用php7.2
  38. location ~ [^/]\.php(/|$) {
  39. try_files $uri =404;
  40. fastcgi_pass unix:/tmp/php72-cgi.sock;
  41. fastcgi_index index.php;
  42. include fastcgi.conf;
  43. }
  44. access_log /home/wwwlogs/access.log;
  45. }
  46. server
  47. {
  48. listen 80 ;
  49. #listen [::]:80 default_server ipv6only=on;
  50. server_name api.geekpandalocal.com;
  51. index index.html index.htm index.php;
  52. root /home/wwwroot/default/newproject/uugeekpandashare;
  53. #error_page 404 /404.html;
  54. # Deny access to PHP files in specific directory
  55. #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
  56. include enable-php.conf;
  57. location /nginx_status
  58. {
  59. stub_status on;
  60. access_log off;
  61. }
  62. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  63. {
  64. expires 30d;
  65. }
  66. location ~ .*\.(js|css)?$
  67. {
  68. expires 12h;
  69. }
  70. location ~ /.well-known {
  71. allow all;
  72. }
  73. location / {
  74. if (!-e $request_filename){
  75. rewrite ^/(.*)$ /index.php?s=/$1 last;
  76. }
  77. }
  78. location ~ /\.
  79. {
  80. deny all;
  81. }
  82. access_log /home/wwwlogs/access.log;
  83. }

================以下是参考===========

:安装

下载不同版本的PHP源码到服务器上,在编译安装时为不同的版本指定不同的路径,例如:


  
  1. --prefix=/usr/local/php5.6 //指定PHP5.6版本的安装路径
  2. --prefix=/usr/local/php7.2.3 //指定PHP7.2版本的安装路径

本地执行脚本指定PHP版本

安装好之后,如果需要在服务器端执行PHP脚本,假设已进入脚本的路径下,为test.php。使用不同版本PHP执行PHP文件的命令如下:


  
  1. /usr/local/php5.6/bin/php test.php //使用PHP5.6执行脚本
  2. /usr/local/php7.2.3 test.php //使用PHP7.2.3执行脚本
  • 也可以修改/etc/profile文件中的PATH环境变量,将需要的版本的PHP的bin目录加到环境变量中,这样,只要在任何路径下调用PHP,使用的都是在环境变量中设置的版本了。环境变量配置示例如下:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/php5.6/bin"
 
  • 指定浏览器访问时执行的PHP版本

先执行命令ps aux | grep php查看当前是否有php-fpm正在运行,如果有,将之关闭。
然后执行命令/usr/local/php5.6/sbin/php-fpm启动5.6版本的php-fpm,这样,前端访问服务器时,所有的脚本将由php5.6进行解释执行。

这样就实现了PHP多个版本的切换。

不过两个不同的php版本是通过编译安装的话,很容易出问题,因为他们倚赖的库的版本可能不一样,这样可能需要安装不同依赖版本的库就可以解决,有时间折腾可以尝试。

参考: php-fpm报502问题

 分享一下php7和其他php多版本共存的配置教程

文章来源: blog.csdn.net,作者:lxw1844912514,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/lxw1844912514/article/details/112468744

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。