美文网首页
不同网站根据开发需求调用不同php版本的方法

不同网站根据开发需求调用不同php版本的方法

作者: 老饕_Ljw | 来源:发表于2019-08-03 20:51 被阅读0次

写在前面

我目前的网站开发环境是用lampp搭建的(PHP7+Apache+MySQL)。
最近在用一个开源的网页工具,但是该工具是php5.3写的。。。直接导致我目前的环境运行不了该工具 ,因为php5和php7差异太大,比如php7直接废弃了mysql 扩展库,而使用mysqli扩展库。。

那么如何使不同的网站调用不同的php版本呢?

可以使用宝塔一键安装开发环境,在宝塔中是可以随意切换php版本的,或者是PHPstudy也可以。但是我并没有这么做。。。因为我调试nginx到一半才发现可以用宝塔。。。 可是又不想放弃,总感觉放弃会很不爽 ,好在最终还是调试成功了。

我的解决办法:既然我已有的开发环境是 PHP7+Apache ,那么我完全可以再手动搭建一个nginx+php5的环境要调用php7的网站就放到Apache,调用php5的就放到nginx然后共用一个MySQL。 完美

  • 注意,配置的过程需要root权限

安装 Nginx

  • 首先先请确认gcc g++开发类库是否装好(默认已经安装)
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
  • 安装PCRE库
    可以自定义一个安装路径
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 
tar -xzvf pcre-8.39.tar.gz 
cd pcre-8.39
./configure
make
make install
  • 安装zlib库
    可以自定义一个安装路径
cd /usr/local/src
 wget http://zlib.net/zlib-1.2.11.tar.gz
tar -xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make
make install
  • 安装nginx
wget http://nginx.org/download/nginx-1.1.10.tar.gz
tar -zxvf nginx-1.1.10.tar.gz
cd nginx-1.1.10
./configure
make
make install
  • 启动nginx
    因为之前安装的Apache占用的是80端口,所以一般我们修改nginx的端口,可以改成 8089
  • 启动 nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

然后就可以通过 ip:端口 访问啦
格式为:你的IP:8089
将网页文件放在 /usr/local/nginx/html/ 目录下就可以正常访问网页了。

参考:https://www.cnblogs.com/wyd168/p/6636529.html


安装php

tar -xzvf php-5.3.20.tar.gz
cd php-5.3.20
  • 编译PHP
    编译参数如下,注意,这里 php的编译参数只配置了目前我所需要的几个php扩展功能而已,如需其他参数 可以自行增加配置。
./configure --enable-fpm --enable-mysqlnd --with-mysql=/opt/lampp/ --without-sqlite --without-pdo-sqlite --with-gd --with-freetype-dir=/usr/include/freetype2/freetype/   
make 
make install
  • 在centos编译php的时候,经常会遇到一些报错信息,这些报错基本上都可以通过yum安装相应的库来解决,即报错缺少哪个库就yum install 哪个库 (如果是Ubuntu 那就apt-get install)
    详情请参考:https://www.cnblogs.com/ningskyer/articles/5639292.html

  • 编译成功之后,创建配置文件

cp php.ini-development /usr/local/php-5.3.20/php.ini
  • 然后可以根据需求修改php.ini文件,即增加需要的php扩展等。

配置nginx,使网页能够调用刚刚安装的php5

Nginx是通过PHP-FastCGI与PHP交互的。而PHP-FastCGI运行后会通过文件、或本地端口两种方式进行监听,在Nginx中配置相应的FastCGI监听端口或文件即实现Nginx请求对PHP的解释,并配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块。

  • 先将php-fpm 的配置文件复制到 /usr/local/sbin/ 下
cp /usr/local/etc/php-fpm.conf.default /usr/local/sbin/php-fpm.conf
cd /usr/local/sbin
可以看到该文件夹下有php-fpm 以及 php-fpm.conf
  • 修改php-fpm.conf 文件
    监听9001
  • 启动 php-fpm
/usr/local/sbin/php-fpm
  • 配置nginx.conf文件
cd /usr/local/nginx/conf
vim nginx.conf
  • 重启nginx
/usr/local/nginx/sbin/nginx  -s reload
  • 查看是否配置成功
    写一个测试脚本,放到网站的根目录/usr/local/nginx/html/
    ,检查是否成功配置了php
vim phptest.php

输入脚本内容:

<?php
phpinfo();
?>
  • 然后通过IP+端口访问
    你的IP:8089/phptest.php


至此,就大功告成啦!
文中的路径均为我的路径,如有不同 修改成自己的相应路径即可


写在最后

在这里我只是提出了一个大概的解决办法,我自己在实行过程中遇到了很多bug,文中并没有一一列出来,但是主要的配置部分已经写清楚,相信其他安装过程中的小bug,通过Google和Baidu 可以解决。
最后,debug成功的感觉真好 哈哈哈,继续努力吧~

相关文章

网友评论

      本文标题:不同网站根据开发需求调用不同php版本的方法

      本文链接:https://www.haomeiwen.com/subject/fcrsdctx.html