工作環境一直都是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)
好啦好啦,看看網站能不能打開啦!!!