CentOS5.8编译安装PHP5.4.12 2013

1. 第一步:进入/tmp目录,下载的临时文件将会出现在这里,如果希望长期保存下来,请移动位置,否则第二天这个目录下的文件将会自动清除.

因最新稳定版的php5.4.12不能兼容zend loader,故以下php5.4.12版本均改为了 old stable 版本5.3.22。安装方式基本都相同。如果想装zend的同学切忌不可直接复制下面的安装!

#PHP5.4.12 

点击(此处)折叠或打开

  1. wget http://www.php.net/get/php-5.4.12.tar.gz/from/hk1.php.net/mirror  //官方下载网址,这里选择的香港镜像1,可以自己登陆官网选择当地网速最快的镜像
#PHP 5.3.22版本:

点击(此处)折叠或打开

  1. wget http://museum.php.net/php5/php-5.3.22.tar.gz

#PHP库文件

点击(此处)折叠或打开

  1. yum install libmcrypt
  2. yum install mhash
  3. #yum install libiconv因找不到源无法执行,故直接下载,自己安装。
  4. 在tmp目录下:
  5. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
  6. tar -xvf libiconv-1.14.tar.gz
  7. cd libiconv-1.14
  8. ./configure --prefix=/usr/local
  9. make && make install
2.第二步:安装PHP

点击(此处)折叠或打开

  1. cd /tmp

  2. tar -zxvf php5.3.22.tar.gz

  3. ./configure --prefix=/usr/local/php \
  4. --with-config-file-path=/usr/local/php/etc \
  5. --with-iconv-dir=/usr/local \
  6. --with-freetype-dir \
  7. --with-mysql=/usr/local/mysql \
  8. --with-mysqli=/usr/local/mysql/bin/mysql_config \
  9. --with-jpeg-dir \
  10. --with-png-dir \
  11. --with-zlib \
  12. --with-mhash \
  13. --enable-sockets \
  14. --enable-ftp \
  15. --with-libxml-dir \
  16. --enable-xml \
  17. --disable-rpath \
  18. --enable-safe-mode \
  19. --enable-bcmath \
  20. --enable-shmop \
  21. --enable-sysvsem \
  22. --enable-inline-optimization --with-curl \
  23. --with-curlwrappers \
  24. --enable-mbregex \
  25. --enable-mbstring \
  26. --with-mcrypt \
  27. --with-gd \
  28. --enable-gd-native-ttf \
  29. --with-openssl \
  30. --with-mhash \
  31. --enable-pcntl \
  32. --enable-sockets \
  33. --with-ldap \
  34. --with-ldap-sasl \
  35. --enable-fpm \
  36. --with-xmlrpc \
  37. --enable-zip \
  38. --enable-soap \
  39. --enable-fastcgi \
  40. --without-pear

  41. 若提示:configure: error: mcrypt.h not found. Please reinstall libmcrypt
  42. 则需yum remove libmcrypt删除安装后,重新手工安装libmcrypt

  43. 点击(此处)折叠或打开

    1. wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
    2.  
    3. tar -zxvf libmcrypt-2.5.7.tar.gz 
    4. cd libmcrypt-2.5.
    5. ./configure prefix=/usr/local/libmcrypt/ #默认也可以
    6. 70 make
    7. make install
    8. 然后执行php的 configure时,加入--with-mcrypt=/usr/local/libmcrypt
    若没出现libmcrypt.h找不到的错误,且上述步骤无法解决问题,则略过上面这个步骤用yum install libmcrypt libmcrypt-devel安装,然后后续执行php的上述configure即可。

  1. 编译完后,没问题再继续执行以下脚本
  2. make ZEND_EXTRA_LIBS=‘-liconv‘

  3. #执行完后后出现 make: *** [ext/phar/phar.php] 错误 127
    解决办法--标蓝色的部分,这一步需针对资金的error进行处理,并非所有的错误都是找不到libmysqlclient.so.18导致:
    ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/(32位系统)  
    ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/(64位系统)

  4. 最后执行:
  5. make install

3.以上仅完成了php的安装,下面进行具体的配置:

点击(此处)折叠或打开

  1. #选择PHP.ini配置文件
  2. cp php.ini-production /usr/local/php/etc/php.ini

  3. #添加WWW用户
  4. /usr/sbin/groupadd www && /usr/sbin/useradd -g www www
  5. mkdir -p /var/log/nginx && chmod +w /var/log/nginx &&chown -R www:www /var/log/nginx
  6. mkdir -p /data/www && chmod +w /data/www && chown -R www:www /data/www

  7. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  8. vi /usr/local/php/etc/php-fpm.conf
  9.   
  10. #去掉/更改 配置文件中的;
  11. pm.max_children = 64 
  12. pm.start_servers = 20
  13. pm.min_spare_servers = 5
  14. pm.max_spare_servers = 35
  15. pm.max_requests = 1024
  16. user = www
  17. group = www 

  18. #检查语法是否正确
  19. /usr/local/php/sbin/php-fpm -t
  20. #出现NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful 测试成功
  21. /usr/local/php/sbin/php-fpm &
  22. #设置开机启动
  23. vi /etc/rc.d/rc.local
  24. #在行末加入
  25. /usr/local/php/sbin/php-fpm &

补充下:
安装phpwind9以上版本,需要pdo_mysql支持,故单独安装,步骤如下:
解压php 5.3.22源码包,进入目录
$ cd php5.3.22/ext/pdo_mysql
/usr/local/php/bin/phpize 
$ ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
$ make && make install
安装完毕后,会生成pdo_mysql.so的路径,
---------------------------------------------------------------------------------------------------------------------------------------
Build complete.
Don‘t forget to run ‘make test‘.


Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

---------------------------------------------------------------------------------------------------------------------------------------
//将shared extensions路径加入php.ini,并设置扩展支持pdo_mysql.so
$ vi /usr/local/php/etc/php.ini
修改如下位置:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/"
extension = "pdo_mysql.so"

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。