PHP试题网_中国最大的免费网络PHP试题测试平台,PHP试卷调查,PHP试卷模板、PHP考试测验
公告: 【20201211】公告:复杂试卷成功上线,问答模块很快上线……网站将有诸多变化
 由于某种原因,我必须要用到php5.2.17,相当古老的php版本。但编译过程并不顺利。

环境:在PHP7时代,居然还有程序要用到php5.2,基本上只有一个原因,那就是zend加密。由于授权问题,导致有些公司只能用zend低版本加密php源代码,如果想用这家公司的产品,就必须使用php5.2。

当前服务器环境:nginx+php7.2+php7.0+mysql5.5。使用宝塔安装,非常方便。但宝塔里无法在当前环境下安装apache2.2+php5.2软件,只能手工编译安装了。


apache2.2:

添加Apache自启动

cp /usr/local/apache24/bin/apachectl /etc/rc.d/init.d/httpd
vim /etc/rc.d/init.d/httpd #编辑httpd文件


在#!/bin/sh下面添加以下两句后保存

#chkconfig: 345 70 70
#description: apache

chkconfig: 2345 70 60中的2345是指脚本的运行级别,即在2345这4种模式下都可以运行,234都是文本界面,5是图形界面X,70是指脚本将来的启动顺序号,如果别的程序的启动顺序号比70小(比如44、45),则脚本需要等这些程序都启动以后才启动。60是指系统关闭时,脚本的停止顺序号


把Apache添加到系统服务并自启

chkconfig --add httpd #加入系统服务
chkconfig httpd on #开机自启

这样就可以使用systemctl start|stop|restart httpd 启动|关|重启Apache服务了

 

注:
由于php5.2版本过于古老,在新的系统里未必能正常安装,要先打一下补丁,不然会报错。

curl -o php-5.x.x.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt
cd php-5.2.17
patch -p0 -b < ../php-5.x.x.patch 
你会看到有3个文件打补丁成功。
 
第1步:安装依赖库:
yum -y install  openssl openssl-devel  pcre pcre-devel  zlib zlib-devel  bzip2 bzip2-devel  libcurl-devel gd  gd-devel readline readline-devel libmcrypt libmcrypt-devel libcurl-devel libxslt libxslt-devel iconv iconv-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel   curl curl-devel  ncurses  ncurses-devel  libevent libevent-devel 

解决编译时找不到configure: error: libpng.(a|so) not found.的问题
ln -s /usr/lib64/libjpeg.so /usr/lib/
ln -s /usr/lib64/libpng.so /usr/lib/


第2步:
./configure --prefix=/usr/local/php52 --with-config-file-path=/usr/local/php52/ --with-apxs2=/usr/local/apache2.2/bin/apxs --with-mysql=/www/server/mysql/ --with-mysqli=/www/server/mysql/bin/mysql_config  --with-pdo-mysql=/www/server/mysql/  --with-libdir=lib  --with-libxml-dir=/usr/lib64/  --with-png-dir=/usr/lib64/ --with-jpeg-dir=/usr/lib64/   --with-freetype-dir=/usr/lib64/   --with-iconv-dir=/usr/local/lib  --enable-gd-native-ttf   --with-curl  --with-curlwrappers --with-mcrypt    --with-gettext  --with-kerberos  --enable-mbstring  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sysvmsg  --enable-sysvsem   --enable-zip  --disable-rpath  --with-xmlrpc  --with-mhash  --enable-exif  --with-zlib  --enable-bcmath  --enable-ftp  --enable-sockets   --with-gd    --with-xsl  --with-openssl
 
编译不过去可以试着加上 --disable-inline-optimization ,至少我的环境不用这个参数就可以配置成功

第3步:安装:

make ZEND_EXTRA_LIBS='-liconv'   && make install

结果:
Warning! a PEAR user config file already exists from a previous PEAR installation at '/root/.pearrc'. You may probably want to remove it.
Wrote PEAR system config file at: /usr/local/php52/etc/pear.conf
You may want to add: /usr/local/php52/lib/php to your php.ini include_path
Installing PDO headers:          /usr/local/php52/include/php/ext/pdo/

没有什么错误,基本上就安装成功了。

作者:OK兄 浏览次数:123