centos7.0 安装php5.3,centos7的编译安装php5.3 (针对老系统必须安装php5.3才能运行)...

大家都知道,centos6以上yum都自带5.4以上的php版本,可是一些老系统必须安装 php-5.3该怎么办呢。下面我来教大家一步步编译安装。看看我踩过的坑。

第一步: 网上下载php5.3的源码包   wget   http://cn2.php.net/distributions/php-5.3.28.tar.bz2 或者直接在php.net里面下载好后直接传到服务器

第二步:添加依赖运用

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel

第三步:解压下载的php源码包。

这里我是在网上下载的php-5.3.28.tar.bz2  以bz2结尾的文件。普通的压缩tar -zxvf php-5.3.28.tar.bz2 肯定是不行的,因为bz2是一种更为有效的压缩方式  。需要安装 yum install bzip2,否则报错。

第四步:配置php

cd php-5.3.28

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-zip --enable-ftp --enable-gd-native-ttf --enable-wddx --enable-soap

期间报错 configure: error: xml2-config not found. Please check your libxml2

解决方式:yum -y install libxml2 libxml2-devel

再走一遍 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-sysvsem --enable-sockets --enable-pcntl --enable-mbstring --enable-mysqlnd --enable-opcache --enable-shmop --enable-zip --enable-ftp --enable-gd-native-ttf --enable-wddx --enable-soap

期间报错:configure:error:no acceptable cc found in $path

解决方式:yum install gcc gcc-c++ gcc-g77

第五步 编译 make

期间报错: 错误: 提领指向不完全类型的指针*/php*/ext/dom/node.c:1955:5: 错误: 提领指向不完全类型的指针

解决方式: curl -o php-5.3.28.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt

cd php-5.3.28

patch -p0 -b < ./php-5.3.28.patch

再走一遍编译make,报错libtool: link: `ext/date/php_date.lo' is not a valid libtool object

解决方式:make clean

再走一遍make

第六步 安装make install

执行成功后,cp /usr/local/php/etc/php-fpm.conf.default php-fpm.conf

cp /root/php-5.3.28/php.ini-development /usr/local/php/etc/php.ini-development

cp /usr/local/php/etc/php.ini-development /usr/local/php/etc/php.ini

再将php-fpm的启动程序 php-fpm 拷贝一份

cp /root/php-5.3.28/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

给权限

chmod +x /etc/init.d/php-fpm

加入开机启动

chkconfig --add php-fpm

设置启动等级

chkconfig --level 35 php-fpm on

第七步:

启动service php-fpm start

期间又报错,这里我已经崩溃了 Gracefully shutting down php-fpm warning, no pid file found - php-fpm is not running

解决方式:

ps -ef|grep php-fpm

先关掉所有进程

killall php-fpm

既然是pid 没找到 ,那我进入/usr/php/etc/php-fpm.conf 这里面看看 找到 ;pid = run/php-fpm.pid 去掉前面的分号

再次启动 发现又报错

pm.max_spare_servers(0) must be a positive value在这里我已经不想再继续了,完全凌乱了,再次找到百度大大,

解决方式:vi /usr/local/php/etc/php-fpm.conf

pm.start_servers=20

pm.min_spare_servers=5

pm.max_spare_servers=35

将这3行 的注释去掉

,再次启动 service php-fpm start

完美 手工 !!!

此篇文章献给和我一样奋斗在事业单位的程序员们,因为事业单位大多数老系统,不能随意更换。大家一起加油!

ps:php -V 查看不到php版本 ,那是因为你没有把php放在环境变量里面 export PATH=$PATH:/usr/local/php/bin

再次echo $PATH,可以看到成功了。新建个php文件 php php文件 运行php 发现有结果证明成功了。写到这里 nginx 和 mysql 直接yum 安装吧!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值