Centos7 同时运行PHP5.2和PHP7.1配置
工作环境一直都是lnmp,其中PHP已经升级到7.1版本了。突然有份代码需要运行在PHP5.2上。但是之前的环境还是需要的,所以需要在centos中再安装PHP5.2.
0、之前的php7安装在/usr/local/php 里。两个环境要区分开。新建目录 mkdir /usr/local/php5
进入php5 目录下操作
1、安装PHP5.2,下载源码包
源码包: wget http://soft.7dot.com/soft/php-5.2.17.tar.gz 。
这个无法下载的情况下,可以去php官网里找,每个版本的源码包都能找到(https://www.php.net/distributions/php-5.2.17.tar.gz)
2、安装相关依赖
yum -y install gcc gcc-c++ make automake autoconf
yum -y install libxml2-devel openssl-devel pcre-devel sqlite-devel bzip2-deve llibcurl-devel freetype-devel gd-devel readline-devel libmcrypt-devel libcurl-devel libxslt libxslt-devel
3、编译
./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-config-file-scan-dir=/usr/local/php5/etc/php.d --with-curl=/usr/local/lib --with-freetype-dir=/usr/lib64 --with-gd --with-gettext --with-iconv-dir=/usr/local/lib --with-jpeg-dir=/usr/lib64 --with-kerberos --with-libdir=lib64 --with-libxml-dir=/usr/lib64 --with-mcrypt --with-mhash --with-mysql --with-mysqli --with-openssl --with-pcre-regex=/usr --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-pear=/usr/local/lib/php --with-png-dir=/usr/lib64 --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --disable-rpath
PHP5.2编译安装遇到很多问题,先解决问题 再编译
问题一: error: libjpeg.(a|so),error: libpng.(a|so) not found,error: Cannot find ldap
(png类似处理 cp -frp /usr/lib64/libpng /usr/lib/ 这边没有小数点哦)
解决方式: cp -frp /usr/lib64/libjpeg.* /usr/lib/
详细链接: https://blog.csdn.net/W1552332103/article/details/39368853
问题二: configure: error: MySQL configure failed. Please check config.log
解决方式: 先查看config.log是不是跟上面的问题一样的,安装了依赖 但是还是提示找不到。有可能是自己的虚拟机是x64的 这些通过yum安装的依赖会放在/usr/lib/ 按编译文件的路径是/usr/lib64/
解决方式: cp -frp /usr/lib64/mysql/libmysqlclient. /usr/lib/ 创建软连接也可以的
4、安装补丁。
*补丁一: wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
*补丁二:
curl -o php-5.2.17.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvzD4N.txt
patch -p0 -b < php-5.2.17.patch
到这里之后应该就能成功编译了,通过编译会出现:
开始安装 make && make install
安装到这样就算成功了。吐一大口气~~
5、启动PHP报错
启动PHP报错ERROR: [pool www] cannot get uid for user ‘www’
配置文件/usr/local/php5/etc/php-fpm.conf 将nobody的地方换成自己系统登录用户名(但是不能是root用户名)
6、配置nginx之前 我们要先更改一下php-fpm.conf文件的监听端口号,默认是127.0.0.1:9000,这里我换成127.0.0.1:9005.具体换成啥 随便 不用跟php7的重复就行。
然后nginx.conf文件配置跟php7是一样的,不一样的地方是处理php部分, 转发服务器监听端口换成对应的9005 (即:fastcgi_pass:127.0.0.1:9005)
好啦好啦,看看网站能不能打开啦!!!
原文地址:https://www.cnblogs.com/xinxinmifan/p/php5_and_php7.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 文本挖掘|不得不知的jiebaR包,切词分词?
- Java多线程编程核心技术
- oracle 常用函数
- oracle 笔记
- Jackson笔记
- 每日一题 | 两个序列归并问题
- Java基础之IO流(一)
- Java基础之IO流(二)
- 数据可视化|如何用wordcloud绘制词云图?
- Java日志记录最佳实践
- Java基础之IO流(三)
- 百万并发「零拷贝」技术系列之Linux实现
- 前缀和与差分 Krains 2020-07-28 16:05:15
- 1477. 找两个和为目标值且不重叠的子数组 Krains 2020-07-30 09:50:18 动态规划滑动窗口
- 114. 二叉树展开为链表 Krains 2020-08-02 08:59:00 树