`
waiting
  • 浏览: 235369 次
  • 性别: Icon_minigender_1
  • 来自: cq
社区版块
存档分类
最新评论

CentOS5.5上编译安装 PHP 5.3.6

    博客分类:
  • PHP
阅读更多

CentOS 5.6一直没发布,CentOS 5.5的PHP5.1.6不支持json/hash,因为正研究Postfix+Dovecot邮件系统,webmail采用的 RoundCube   新版本(v0.5)要求PHP版本不小于5.2.1,于是决定编译安装最新版PHP。PHP前几天被入侵据说v5.3.6代码被污染,不过用来做研究测试应该没问题。

 

  1. 先卸载本机已经安装的PHP包,这些软件包将会通过接下来的编译方式安装,安装必须软件
    # yum remove php php-\*

    如果不需要pgsql数据库则可以去掉postgresql相关包
    # yum install -y httpd-devel libtool-ltdl libtool-ltdl-devel openssl-devel curl-devel  \
          libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel \
          libc-client libc-client-devel  gd gd-devel libmcrypt libmcrypt-devel \
          sqlite sqlite-devel mysql-devel libicu libicu-devel pcre-devel \
          postgresql84 postgresql84-libs postgresql84-server postgresql84-devel \
    如果不安装 libtool-ltdl-devel编译时会出错,所以要么安装这个包要么执行以下命令:
    # cd /usr/lib
    # ln -s libltdl.so.3.1.4 libltdl.so
    libicu是 --enable-intl           Enable internationalization support 需要的包

    如果需要pspell拼写支持需要下载编译安装以下两个文件( ./configure && make && make install)
    ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.6.tar.gz
    ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-7.1-0.tar.bz2
    网站是 http://aspell.net/



  2. 下载源代码到 src 目录并解压:
    # cd /usr/local/src
    # wget http://cn.php.net/get/php-5.3.6.tar.bz2/from/this/mirror
    # tar -xjf php-5.3.6.tar.bz2

  3. 配置安装参数
    ./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu \
    --target=i686-redhat-linux-gnu  --with-apxs2=/usr/sbin/apxs \
    --prefix=/usr/local --exec-prefix=/usr/local --with-exec-dir=/usr/local/bin \
    --sysconfdir=/etc  --libdir=/usr/local/lib/php --with-libdir=lib \
    --sbindir=/usr/local/sbin --sharedstatedir=/usr/com --datadir=/usr/local/share \
    --includedir=/usr/local/include --libexecdir=/usr/local/libexec \
    --localstatedir=/var  \
    --mandir=/usr/local/share/man --infodir=/usr/local/share/info \
    --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \
    --with-pic  --with-curl=shared  --with-freetype-dir --with-png-dir  \
    --with-gettext --with-gmp --with-iconv --with-jpeg-dir --with-png-dir \
    --with-openssl --with-layout=GNU --with-libxml-dir \
    --with-pcre-regex=/usr \
    --with-mcrypt=shared --with-mhash --with-zlib --with-bz2=shared \
    --with-pdo-mysql --with-mysql --with-mysql-sock=/var/lib/mysql/mysql.sock \
    --with-pgsql --with-pdo-pgsql --with-sqlite=shared --with-pdo-sqlite=shared \
    --enable-sqlite-utf8 --with-kerberos --with-imap --with-imap-ssl \
    --with-pear --with-gd --enable-gd-native-ttf --enable-calendar=shared \
    --enable-exif --enable-ftp --enable-sockets --enable-bcmath \
    --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-intl \
    --enable-mbstring --enable-zend-multibyte --enable-zip \
    --without-unixODBC --disable-tokenizer \
    --enable-mbregex 
    --with-pspell=/usr/local \
    
     
    如果未安装pspell,则删除最后一行。
    非RHEL/CentOS系统可以省略 --build,--host,--target 参数,程序会自动判断(LINUX一般为i686-pc-linux-gnu)。如果没安装pgsql或者不需要pgsql的支持可以删除相关参数(共2个)。 bz2, calendar, curl, mcrypt, pdo_sqlite, sqlite 这些模块采用动态编译,可采用下面将会提到的方法加载。

  4. 编译并安装
    # make && make install
    安装结果摘要,里面有几个主要的安装路径变量
    libtool: install: warning: remember to run `libtool --finish /usr/local/src/php-5.3.6/libs'
    [activating module `php5' in /etc/httpd/conf/httpd.conf]
    Installing PHP CLI binary: /usr/local/bin/
    Installing PHP CLI man page: /usr/local/share/man/man1/
    Installing shared extensions: /usr/local/lib/php/20090626/
    Installing build environment: /usr/local/lib/php/build/
    Installing header files: /usr/local/include/php/
    Installing helper programs: /usr/local/bin/
    program: phpize
    program: php-config
    Installing man pages: /usr/local/share/man/man1/
    Installing PEAR environment: /usr/local/share/pear/
     貌似要运行一次libtool --finish ....,不过我运行后也没什么奇特效果~

  5. 更新httpd配置文件以便apache能解析php文件
    # vim /etc/httpd/conf/httpd.conf
    添加以下内容
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
     
  6. 如果在卸载原有PHP之前没备份php.ini文件,那么可以从PHP编译目录中把 php.ini-production 拷贝到 /etc目录下并改名为 php.ini
    # mv /usr/local/src/php-5.3.6/php.ini-production /etc/php.ini
    添加或者更新相关设置,比如:
    extension_dir = "/usr/local/lib/php/20090626"
    include_path = ".:/usr/local/share/pear"

    # 以下六个模块可根据需要添加
    extension = bz2.so
    extension = calendar.so
    extension = curl.so
    extension = mcrypt.so
    extension = pdo_sqlite.so
    extension = sqlite.so

    max_execution_time = 30
    max_input_time = 60
    memory_limit = 128M
    variables_order = "EGPCS"
    register_globals = Off
    register_long_arrays = Off
    post_max_size = 30M
    upload_max_filesize = 30M
    mbstring.internal_encoding = UTF-8
    date.timezone = Asia/Chongqing
     
  7. 测试结果。在 /var/www/html 下面新建一个文件 phpinfo.php ,里面包含内容
    <?php
    phpinfo();
    ?>
     重启apache服务
    # service httpd restart
    然后在浏览器打开 http://localhost/phpinfo.php 或者 http://serv-ip /phpinfo.php  文件查看php配置状况,这里ip地址为服务器地址


 

 

 

 

.

0
1
分享到:
评论

相关推荐

    CentOS 5.5使用yum安装Apache+PHP+MySQL

    在本文中,我们将详细介绍如何在 CentOS 5.5 操作系统上使用 YUM 工具安装 Apache、PHP 和 MySQL,创建一个完整的 LAMP (Linux, Apache, MySQL, PHP) 服务器环境。 首先,确保您已经安装了 CentOS 5.5。这个版本...

    Linux CentOS5.5 web配置

    ### Linux CentOS5.5 Web配置详解 #### 一、概述 在Linux CentOS5.5系统中进行Web配置是一项常见的任务,对于服务器管理和网站部署至关重要。本文将深入探讨CentOS5.5下的Web配置方法,包括基本配置、路径设置、...

    Centos5.5下Qt的安装配置

    CentOS 5.5 下 Qt 的安装配置 在 CentOS 5.5 平台下安装 Qt 需要经过多个步骤,每个步骤都需要注意一些重要细节。本文将详细讲解 CentOS 5.5 下 Qt 的安装配置过程。 一、安装软件列表 在开始安装 Qt 之前,需要...

    CentOS 5.5安装全过程

    在本文中,我们将详细探讨CentOS 5.5的安装步骤,帮助您了解如何在您的硬件上成功部署这个操作系统。 1. **准备工作** 在开始安装前,确保您拥有以下内容: - CentOS 5.5的安装介质,通常为DVD或ISO镜像。 - 一...

    centos 5.5 32位 下载地址

    在探讨“CentOS 5.5 32位下载地址”的相关知识点时,我们首先要理解CentOS系统的基本概念,以及其版本与架构的区别,再深入分析下载资源的重要性及获取方式。 ### CentOS概述 CentOS(Community ENTerprise ...

    LAMP在 CentOS5.5b上安装

    在CentOS 5.5b操作系统上安装LAMP涉及以下步骤: 一、准备工作 首先,确保系统具备必要的编译工具,如gcc、gcc-c++和make。这些工具可以通过`yum`包管理器安装。如果无法联网,可以使用安装光盘作为yum源。具体...

    centos5.5(5.6)最新lnmp安装步骤(php5.3.6+ng1.0.0+mysql5.5.12)

    在探讨CentOS 5.5(或5.6)上最新LNMP(Linux, Nginx, MySQL, PHP)环境的安装步骤时,我们聚焦于特定版本:PHP 5.3.6、Nginx 1.0.0以及MySQL 5.5.12。以下是对这些组件安装流程的深入解析,旨在为系统管理员和...

    centos5.5 32 64位下载地址

    对于需要运行CentOS 5.5但不希望在物理机上安装的情况,可以利用虚拟化技术,如VMware、VirtualBox等,在现代操作系统上创建一个虚拟环境来运行旧版CentOS。 知识点6:兼容性问题 使用旧版CentOS可能遇到的挑战包括...

    centOS 5.5 虚拟机 安装 教程 word 版

    centos 5.5 虚拟机安装截图教程,可能安装过程中会因虚拟机版本和centos的版本区别有所不同,但是基本思路应该没变,希望对大家有用,我没资源分了,大家支持下让人赚点分吧,谢谢各位了

    CentOS5.5命令行安装64位

    ### CentOS5.5命令行安装Oracle 10...通过以上步骤,可以在CentOS 5.5上完成Oracle 10g的命令行安装。需要注意的是,在实际安装过程中可能会遇到各种各样的问题,如依赖库缺失、权限问题等,需要根据具体情况进行解决。

    在centos5.5上lamp详细安装配置教程

    这个教程自己已经在centos5.5上一个个试出来的 包括lamp安装过程出现的问题都有记录,安装的步骤参考与别人的经验,我只是做了个总结及问题归总,用该文档我已经装好了好多台服务器了。 该文档包括apache的安装,php...

    centos5.5安装oracle10g

    centos5.5安装oracle10g: 自己写的文档,学习用的,供大家参考

    centos5.5安装mysql5.5

    集合网上资料和自身实际安装整理的centos5.5安装mysql5.5,文档中有5.5和5.6的下载地载,如果安装5.6还需要找一点资料。

    CentOS 5.5图形安装教程

    CentOS _ 5.5_ 图形安装教程(超详细).

    CentOS 5.5搭建PHP环境安装笔记

    CentOS 5.5搭建PHP环境安装笔记

    CentOS 5.5提权exp

    CentOS 5.5提权exp

    CENTOS5.5软RAID1配置及更换硬盘

    CENTOS5.5 软 RAID1 配置及更换硬盘方案 在本文档中,我们将详细阐述软 RAID1 的配置方法和更换硬盘的步骤。软 RAID1 是一种软件 RAID 方式,它可以将多个硬盘组合成一个 RAID 设备,从而提高数据的安全性和可用性...

    CentOS 5.5 FTP设置

    通过上述步骤,我们已经在CentOS 5.5上成功安装并配置了vsftpd FTP服务。需要注意的是,实际部署过程中还需要根据具体需求进一步调整配置文件中的各项参数,以确保服务的安全性和稳定性。此外,考虑到CentOS 5.5已...

Global site tag (gtag.js) - Google Analytics