php5.2.14多版本共存编译

当前系统Centos6.9,已经安装好lnmp(php5.6 mysql5.1)军哥环境,在此基础上并存一个php5.2的版本。

PS:php5.2.14默认不支持php-fpm的,需要打上fpm补丁

 

安装epel源

yum -y install epel-release

安装所需依赖
yum -y install openldap-devel openldap net-snmp net-snmp-devel libpng libpng-devel mhash-devel libtool-ltdl-devel gcc gcc-c++ libxml2 libxml2-devel openssl-devel openssl curl-devel curl libjpeg libjpeg-devel freetype freetype-demos freetype-devel php-ldap php-xmlrpc zlib zlib-devel php-soap autoconf

编译libiconv1.13.1
cd /usr/src
wget http://down.whsir.com/downloads/libiconv-1.13.1.tar.gz
tar zxf libiconv-1.13.1.tar.gz
cd /usr/src/libiconv-1.13.1
./configure --prefix=/usr/local
make -j 8
make install

编译libmcrypt
cd /usr/src
wget http://down.whsir.com/downloads/libmcrypt-2.5.8.tar.gz
tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make -j 8
make install
/sbin/ldconfig

编译libltdl库
cd /usr/src/libmcrypt-2.5.8/libltdl/
./configure --enable-ltdl-install
make -j 8
make install

编译mhash
cd /usr/src/
wget http://down.whsir.com/downloads/mhash-0.9.9.9.tar.gz
tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make -j 8
make install

需要做一些软链
cp -frp /usr/lib64/libldap* /usr/lib/
ln -sv /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
ln -sv /usr/lib64/libpng.so /usr/lib/libpng.so
ln -sv /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -sv /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -sv /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -sv /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -sv /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -sv /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -sv /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -sv /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -sv /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -sv /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

至此所需的一些依赖和包已经编译好了,接下来开始编译php5.2并打上php-fpm补丁

下载php5.2和php-fpm补丁

cd /usr/src/
wget http://down.whsir.com/downloads/php-5.2.14.tar.gz
wget http://down.whsir.com/downloads/php-5.2.14-fpm-0.5.14.diff.gz
tar zxf php-5.2.14.tar.gz

打上php-fpm的补丁
gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1

编译php-5.2.14,因为当前php5.6的路径是在/usr/local/php下,所以避免和当前php冲突,我这里编译到了/usr/local/php52下
cd php-5.2.14

./configure --prefix=/usr/local/php52 --with-config-file-path=/usr/local/php52/etc --enable-fpm --with-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/libiconv --with-mysqli=/usr/local/mysql/bin/mysql_config --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-ttf --enable-gd-jis-conv --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pear --enable-ftp --with-snmp

make ZEND_EXTRA_LIBS='-liconv' -j 8

make install

配置php.ini和php-fpm启动程序
cp php.ini-recommended /usr/local/php52/etc/php.ini
cp /usr/local/php52/sbin/php-fpm /etc/init.d/php52-fpm
chmod +x /etc/init.d/php52-fpm

修改php-fpm需要注意下面几处配置
vi /usr/local/php52/etc/php-fpm

<value name="listen_address">/tmp/php52-cgi.sock</value>
这里改成/tmp/php52-cgi.sock
<value name="user">nobody</value>
<value name="group">nobody</value>
表示php的fastcgi进程以什么用户以及用户组来运行,默认该行是注释掉的,需要打开
<value name="display_errors">0</value>
是否显示php错误信息
<value name="max_children">5</value>
最大的子进程数目

修改php.ini文件,修改几项参数
vi /usr/local/php52/etc/php.ini

post_max_size = 50M
upload_max_filesize = 32M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=0
max_execution_time = 300

启动php5.2
/etc/init.d/php52-fpm start

最后在 nginx中配置下php52就可以了
location ~ 1.php(/|$)
{
try_files =404;
fastcgi_pass unix:/tmp/php52-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}


  1. /
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pdksh-5.2.14是一种Unix操作系统的编程语言解释器,它是一种可移植的Korn shell。Korn shell是Unix中常用的一种命令行解释器,它兼具了C shell和Bourne shell的功能,提供了更丰富的命令行编辑和脚本编程功能。 pdksh-5.2.14版本是在基于AT&T实现的Korn shell基础上进行了修改和扩展而来。它修复了之前版本的一些Bug,并增加了一些新的特性和功能。在该版本中,对于命令行输入的处理更加高效,运行速度更快。同时,对于历史命令的记录和回放功能进行了优化,使得用户可以更方便地操作和调试命令。 此外,pdksh-5.2.14还具备了在脚本编程中常用的各种控制语句、循环结构和条件判断语句,可以方便地编写复杂的脚本程序。它还支持用户自定义环境变量和别名,方便用户根据自己的需要进行个性化设置。 pdksh-5.2.14的应用范围广泛,可以用于系统管理、软件开发、自动化脚本等各种领域。它可以与其他Unix工具和命令行程序结合使用,提供更多的功能和灵活性。总的来说,pdksh-5.2.14是一种强大的编程语言解释器,为用户提供了方便、高效的命令行操作和脚本编程能力。 ### 回答2: pdksh-5.2.14是一个Unix操作系统上的Shell实现。PDKSH是Public Domain Korn Shell的缩写,是一种兼容Korn Shell的Shell实现。 PDKSH-5.2.14是该Shell实现的一个特定版本。它通过提供类似于Korn Shell功能的命令解释器,允许用户在Unix操作系统上编写脚本并执行各种命令。PDKSH-5.2.14被广泛应用于各种Unix操作系统,尤其是历史较长的版本。 PDKSH-5.2.14具有许多有用的特性。它支持以交互或非交互方式运行,可通过键盘或脚本输入命令。它提供了丰富的内置命令和工具,如条件表达式、循环结构、文件操作等,使用户可以方便地编写复杂的脚本。 此外,PDKSH-5.2.14还具有高度可定制性。用户可以根据自己的需求定制Shell的环境变量、别名、函数等,以增强脚本编写和命令执行的便利性和效率。 PDKSH-5.2.14在Unix操作系统上得到了广泛应用,并得到了很好的支持和维护。不仅在日常的命令行操作中常用,还可以作为开发和系统管理工作中的重要工具。无论是日常使用还是专业领域,PDKSH-5.2.14都为用户提供了稳定、灵活和功能丰富的Shell环境。 ### 回答3: pdksh-5.2.14是一种Korn Shell的开源实现版本。Korn Shell,也称为ksh,是一种Unix和Linux系统上使用的命令行解释器。它提供了比标准Unix Shell更强大和更强大的功能。 pdksh-5.2.14是pdksh的一个特定版本。pdksh是由Davide G. Rossetti创建的Korn Shell的一个分支,旨在改进和增强原始的AT&T Korn Shell。pdksh-5.2.14是pdksh分支的第五个主要版本,具有各种改进和 bug 修复。 pdksh-5.2.14的主要特性包括输入输出重定向、管道、变量扩展、命令替换、条件测试和循环等常见的Shell功能。它还支持函数和别名,允许用户编写更复杂和灵活的脚本。此外,pdksh-5.2.14还具有命令行编辑和历史记录功能,使用户能够方便地编辑和检索之前执行的命令。 作为Korn Shell的一个版本,pdksh-5.2.14在Unix和Linux系统上广泛应用于脚本开发、系统管理和日常命令行操作等方面。它提供了一种强大且易于使用的交互式Shell环境,并具有高度可扩展的特性。 总而言之,pdksh-5.2.14是Korn Shell的一个特定版本,具有广泛应用于Unix和Linux系统的特性和功能。它是pdksh分支的第五个主要版本,旨在提供强大且易用的命令行解释器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值