php5.2.17及手动打补丁php-fpm安装
admin
2023-06-25 20:02:08
0

1.安装扩展

yum -y install  perl-DBI  curl-devel  libcurl-level  mysql  mysql-devel gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel bzip2 bzip2-devel libxml2 libxml2-devel libmhash libmhash-devel libjpeg libjpeg-devel libpng libpng-devel 

2.下载php和php-fpm

wget http://soft.7dot.com/soft/php-5.2.17.tar.gz

wget -c http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz

3.安装编译php

tar zxvf php-5.2.17.tar.gz
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1

 cd php-5.2.17

 ./configure --prefix=/usr/local/php --enable-fastcgi --enable-zip --enable-fpm --enable-gd-native-ttf --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/php.d --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-freetype-dir --with-png-dir --with-mcrypt --with-mhash --enable-mbstring --with-kerberos --with-gettext --enable-bcmath --with-mysql --with-mysqli --with-sqlite --enable-pdo --with-pdo-mysql --with-openssl --enable-ftp --with-pear --with-zlib --enable-inline-optimization --enable-calendar --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --disable-debug

make -j `grep processor /proc/cpuinfo | wc -l`

make test

make install

4.编译过程可能出错的地方及改错方法

1)mcrypt.h not found. Please reinstall libmcrypt

centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包,有两种方法解决,一种是使用第三方源,这样还可以使用yum来安装,简单方便,坏处是第三方源多少有中不可靠的感觉。

解决办法一

安装第三方yum源

wget http://www.atomicorp.com/installers/atomic

使用yum命令安装
yum  install  php-mcrypt  libmcrypt  libmcrypt-devel

 

解决办法二、
使用php mcrypt 前必须先安装Libmcrypt

 

libmcrypt源码安装方法:

 

cd /usr/local/src
wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
tar -zxvf libmcrypt-2.5.8.tar.gz
cd /usr/local/src/libmcrypt-2.5.8
./configure --prefix=/usr/local
make
make install


2)error: Cannot find libmysqlclient under /usr. Note that the MySQL client library is not bundled anymore!

问题是64位系统中 libmysqlclient 默认安装到了 /usr/lib64/mysql/ 目录下

而/usr/lib 目录下没有相应文件,但是php编译时,要去 /usr/lib目录下查找

解决方法:

ln -s /usr/lib64/mysql/libmysqlclient.so.16.0.0 /usr/lib/libmysqlclient.so


3)/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1

深究该问题应该是该库的头文件库没有安装所致

yum list all | grep ltdl

 yum -y install libtool-ltdl-devel.x86_64

4)

##根据Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
##You may want to add: /usr/local/php/lib/php to your php.ini include_path
##Installing PDO headers: /usr/local/php/include/php/ext/pdo/
##这个信息,我们需要在当前 php-5.2.17目录下执行

cp php-5.2.17/php.ini-dist  /usr/local/php/lib/php.ini 

5)

 

启动 PHP-FPM 时,如遇到下面这个错误信息:

 

Starting php_fpm Feb 07 10:52:35.508786 [ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'

打开 php-fpm.conf 配置文件,找到下面这个部分:

Unix user of processes

Unix group of processes

去掉注释,并将user和group改为实际实用的用户和组即可。比如user=nginx group=nginx

5 启动服务

/usr/local/php/sbin/php-fpm start

service nginx restart 

service mysqld restart 

其它的一些细节设置没有一一详写,请大家指教改正!


相关内容

热门资讯

联合国安理会延长对南苏丹武器禁... △当地时间5月29日,安理会成员国在就南苏丹制裁授权延期决议草案进行表决。当地时间5月29日,联合国...
字节Seed AI4S或考虑分... 来源:市场资讯 (来源:三言科技) 5月29日,据Z Finance,字节Seed旗下AI4S团队正...
刷新在轨驻留最长纪录!神二十一... 自2025年11月1日进驻空间站以来,神舟二十一号乘组在轨驻留了约7个月,刷新中国航天员乘组在轨驻留...
广东荔枝迎采收季,无人机单机日... 5月底,岭南荔枝进入采收与上市关键期。南都湾财社记者获悉,以大疆为代表的农业无人机正大规模替代传统人...
伊媒:特朗普关于伊美协议的说法... 新华社德黑兰5月29日电 伊朗法尔斯通讯社29日以一名伊方知情人士为消息源,反驳美国总统特朗普关于美...
电视为什么一直闪屏 由于电源电压不稳定或电源供电不足的缘故、电视分辨率的故障、电视存在周围有电磁干扰的缘故、电视的刷新频...
专访塞尔维亚总统武契奇 塞尔维亚总统武契奇首次对中国进行国事访问,接受《高端访谈》专访。他说,这是他政治生涯中最重要的一次访...
大理宾川:六一儿童节前夕,警方... “大风在刮,大雪在下。烽火中拼杀,危难的关头热血护中华。不怕流血,不怕牺牲。只为守护家,先烈用生命换...
杀入固态电池赛道,5150 亿... 农夫山泉创始人、前中国首富钟睒睒,又有新动作! 近日,钟睒睒通过旗下养生堂战略投资固态电池材料企业智...
南京测试机器人楼宇外立面清洗,... 扬子晚报网5月29日讯(记者 张可)南京存量楼宇数量庞大、外立面日常养护、翻新清洁需求旺盛。长期以来...