centos 5.8 x86 64bit下编译安装php 5.2.1

 

操作系统:CentOS 5.8 x86 64bit

PHP版本:php 5.2.1

 

一、获取php版本并解压

PHP各版本下载地址 http://www.php.net/releases/

一般下载 tar.gz 的包。 

  
  
  
  
  1. tar -xzvf php-5.2.1.tar.gz 
  2. cd php-5.2.1 

 

二、安装PHP编译安装需要的组件的开发包 及编译工具等

  
  
  
  
  1. yum -y install gcc gcc-c++ perl 
  2. yum -y install flex autoconf zlib libtiff-devel  pam-devel 
  3. yum -y install libtool libtool-ltdl libtool-ltdl-devel 
  4. yum -y install bison bison-devel 
  5. yum -y libxslt libxslt libxslt-devel 
  6. yum -y install ncurses ncurses-devel 
  7. yum -y install zlib zlib-devel 
  8. yum -y install openssl openssl-devel 
  9. yum -y install gnutls-devel 
  10. yum -y install libmcrypt libmcrypt-devel 
  11. yum -y install libxml2 libxml2-devel 
  12. yum -y install openssl openssl-devel 
  13. yum -y install bzip2 bzip2-devel 
  14. yum -y install curl curl-devel 
  15. yum -y install libjpeg libjpeg-devel 
  16. yum -y install libpng libpng-devel 
  17. yum -y install freetype-devel 
  18. yum -y install gmp-devel 
  19. yum -y install mysql-devel 
  20. yum -y install ncurses ncurses-devel 
  21. yum -y install unixODBC-devel 
  22. yum -y install pspell-devel 
  23. yum -y install net-snmp net-snmp-devel 
  24. yum -y install openldap-devel openldap-servers openldap-clients 

有些包可能是你不需要的,你可以按具体需求增减,另外mcrypt,Libmcrypt,mhash这三个包如果yum安装无法获得,采取文章后面的解决方法。

三、编译三步骤 configure ,make , make install

1、configure

  
  
  
  
  1. ./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/etc/php.d --without-sqlite --enable-mbstring --with-curl --with-gettext --with-bz2 --with-mysql=/usr/lib64/mysql -enable-shmop --enable-calendar --with-openssl --with-pspell --enable-ftp --with-openssl --with-zlib --enable-exif --with-gmp --enable-sysvmsg --enable-sockets --enable-wddx --with-xsl --with-mcrypt --with-mysqli --with-mime_magic --with-pdo-mysql --libdir=/usr/lib64 --with-libdir=lib64 --with-gd --with-jpeg-dir=/usr/lib64 --with-png-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 

这里有几个注意点:

a、指定安装路径,方便换版本及删除,也方便自己查找文件。

b、指定apache的相关文件apxs2的路径,这个文件安装了httpd-devel才有

c、指定配置文件路径,方便配置

d、指定相关lib文件的路径,本文是在64位系统下的lib64

2、make

make的时候可能会提示什么xxx没找到,解决方法一般是安装xxx-devel的包就可以了。

3、make install

只要configure和make过了后,make install一般没问题,该命令执行后会出现一些安装信息的提示,务必得一个单词一个单词的看懂看明白,譬如这句:

libtool: install: warning: remember to run `libtool --finish /software/php-5.2.1/libs'

 

  
  
  
  
  1. [root@localhost php-5.2.1]# make install 
  2. Installing PHP SAPI module:       apache2handler 
  3. /usr/lib64/httpd/build/instdso.sh SH_LIBTOOL='/usr/lib64/apr-1/build/libtool' libphp5.la /usr/lib64/httpd/modules 
  4. /usr/lib64/apr-1/build/libtool --mode=install cp libphp5.la /usr/lib64/httpd/modules/ 
  5. cp .libs/libphp5.so /usr/lib64/httpd/modules/libphp5.so 
  6. cp .libs/libphp5.lai /usr/lib64/httpd/modules/libphp5.la 
  7. libtool: install: warning: remember to run `libtool --finish /software/php-5.2.1/libs' 
  8. chmod 755 /usr/lib64/httpd/modules/libphp5.so 
  9. [activating module `php5' in /etc/httpd/conf/httpd.conf] 
  10. Installing PHP CLI binary:        /usr/local/php/bin/ 
  11. Installing PHP CLI man page:      /usr/local/php/man/man1/ 
  12. Installing build environment:     /usr/lib64/build/ 
  13. Installing header files:          /usr/local/php/include/php/ 
  14. Installing helper programs:       /usr/local/php/bin/ 
  15.   program: phpize 
  16.   program: php-config 
  17. Installing man pages:             /usr/local/php/man/man1/ 
  18.   page: phpize.1 
  19.   page: php-config.1 
  20. Installing PEAR environment:      /usr/lib64/php/ 
  21. [PEAR] Console_Getopt - installed: 1.2 
  22. [PEAR] Archive_Tar    - installed: 1.3.2 
  23. pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0) 
  24. [PEAR] PEAR           - installed: 1.4.11 
  25. Wrote PEAR system config file at: /usr/local/php/etc/pear.conf 
  26. You may want to add: /usr/lib64/php to your php.ini include_path 
  27. Installing PDO headers:          /usr/local/php/include/php/ext/pdo/ 
  28. [root@localhost php-5.2.1]#  

 

四、复制php配置文件

  
  
  
  
  1. cp php.ini-dict /usr/local/etc/php.ini 

 

五、让apache调用这个php版本

1、查看httpd.conf,检查php模块有没有被调用

  
  
  
  
  1. #LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so 
  2. #检查上面的#号去掉没,php安装的时候一般会自动加上这行,但是还是确认一下。 
  3. LoadModule php5_module /usr/lib64/httpd/modules/libphp5.so 

2、查看httpd.conf,添加对PHP的解析

  
  
  
  
  1. AddType application/x-httpd-php .php .phtml  
  2. AddType application/x-httpd-php-source .phps set-variable = max_connections=100  

 

七、测试

1、在apache中配置个站点,在http.conf后增加如下内容

 

  
  
  
  
  1. listen 60080 
  2. <VirtualHost *:60080> 
  3.         ServerAdmin root@test_web_site 
  4.         DocumentRoot /var/www/html/test_web_site 
  5.         DirectoryIndex index.php 
  6.         ServerName www.test.com 
  7.                 ServerAlias test.com 
  8.         ErrorLog logs/www.test.com-error_log 
  9.         TransferLog logs/www.test.com-access_log 
  10. </VirtualHost> 
  11. <Directory /var/www/html/test_web_site> 
  12.     Options FollowSymLinks 
  13.     AllowOverride All 
  14.     Order deny,allow 
  15.     Allow from all 
  16. </Directory> 

2、在路径/var/www/html/test_web_site 中把php探针文件上传进去,探针文件文章后有附件下载。

注:感谢探针 程序设计: 田慧民  Shvip

3、访问 http://xx.xx.xx.xx:60080 ,看是否有PHP网页可以访问

六、一些问题

1、关于mcrypt,Libmcrypt,mhash的安装

下载地址

http://sourceforge.net/projects/mcrypt/files/Libmcrypt/

http://sourceforge.net/projects/mcrypt/files/MCrypt/

http://sourceforge.net/projects/mhash/files/mhash/

先安装Libmcrypt,再安装mhash,再安装mcrypt

命令都是

./configure

make

make install

如果configure mcrypt时提示找不到libmcrypt的库,给个参考的解决方法

export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH

然后再配置。

你可能感兴趣的:(PHP,centos,安装,编译,php探针)