Linux 6 下编译安装 PHP 5.6

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP以其开发源代码,免费,快捷,跨平台,高效,面向对象,强大的动态图像创建等功能深受广大开发者的喜爱。本文描述基于CentOS 6.7下编译安装PHP 5.6.9。

一、相关依赖包安装

1、演示环境
# more /etc/redhat-release
CentOS release 6.7 (Final)

2、扩展支持(mcrypt、mhash扩展和libevent)
如果想让编译的php支持mcrypt、mhash扩展和libevent,需要安装以下包
        libmcrypt
        libmcrypt-devel
        mhash
        mhash-devel

说明:
mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。
mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。
mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。

centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包
可以使用第三方源,这样还可以使用yum来安装
安装第三方yum源
        # wget http://www.atomicorp.com/installers/atomic
        # sh ./atomic
使用yum命令安装
        # yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel

3、libevent相关包
可以根据需要安装libevent,系统一般会自带libevent,但版本有些低。因此可以升级安装如下两个rpm包。
        # yum install libevent libevent-devel

说明:
libevent是一个异步事件通知库文件,其API提供了在某文件描述上发生某事件时或其超时时执行回调函数的机制
它主要用来替换事件驱动的网络服务器上的event loop机制。
目前来说, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。

4、支持xml的相关包
支持xml的rpm包
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件能够高效的完成文件数据的压缩
libcurl主要功能就是用不同的协议连接和沟通不同的服务器,也就是相当封装了的sockPHP
libcurl允许你用不同的协议连接和沟通不同的服务器
        # yum install libxml2 libxml2-devel bzip2-devel libcurl-devel

5、图形相关的rpm包
通常对应的错误提示:JIS-mapped Japanese font support in GD
        # yum install libjpeg-devel libpng-devel freetype-devel

二、编译安装php-5.6.9

首先下载源码包至本地目录,下载位置http://mirrors.sohu.com/php/
# pwd
    /usr/local/src
# tar -xf php-5.6.9.tar.gz
# cd ..
# ln -sv ./src/php-5.6.9 php
# cd php/

# ./configure                                                       --prefix=/usr/local/php                             \
        --with-mysql=/usr/local/mysql                       \
        --with-openssl                                      \
        --enable-fpm                                        \
        --enable-sockets                                    \
        --enable-sysvshm                                    \
        --enable-ftp                                        \
        --with-mysqli=/usr/local/mysql/bin/mysql_config     \
        --enable-mbstring                                   \
        --with-freetype-dir                                 \
        --with-jpeg-dir                                     \
        --with-png-dir                                      \
        --with-zlib-dir                                     \
        --with-libxml-dir=/usr                              \
        --enable-xml                                        \
        --with-mhash                                        \
        --with-mcrypt                                       \
        --with-config-file-path=/etc/php/php.ini            \
        --with-config-file-scan-dir=/etc/php/php.d          \
        --with-bz2                                          \
        --with-curl                                         \
        --with-pear                                         \
        --with-gd    

# make && make install
###以下为安装完毕之后的提示信息
        Installing shared extensions:
         /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/
        Installing PHP CLI binary:     /usr/local/php/bin/
        Installing PHP CLI man page:   /usr/local/php/php/man/man1/
        Installing PHP FPM binary:     /usr/local/php/sbin/
        Installing PHP FPM config:     /usr/local/php/etc/
        Installing PHP FPM man page:   /usr/local/php/php/man/man8/
        Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
        Installing PHP CGI binary:     /usr/local/php/bin/
        Installing PHP CGI man page:   /usr/local/php/php/man/man1/
        Installing build environment:  /usr/local/php/lib/php/build/
        Installing header files:       /usr/local/php/include/php/
        Installing helper programs:    /usr/local/php/bin/
          program: phpize
          program: php-config
        Installing man pages:          /usr/local/php/php/man/man1/
          page: phpize.1       ### Author : Leshami
          page: php-config.1   ### Blog   : http://blog.csdn.net/leshami
        Installing PEAR environment:      /usr/local/php/lib/php/
        [PEAR] Archive_Tar    - installed: 1.3.12
        [PEAR] Console_Getopt - installed: 1.3.1
        [PEAR] Structures_Graph- installed: 1.0.4
        [PEAR] XML_Util       - installed: 1.2.3
        [PEAR] PEAR           - installed: 1.9.5
        Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
        You may want to add: /usr/local/php/lib/php to your php.ini include_path
        /usr/local/php/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
        ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
        Installing PDO headers:          /usr/local/php/include/php/ext/pdo/

###创建php配置目录
        # mkdir -pv /etc/php/php.d

###php配置
        php.ini是php运行核心配置文件
        php-fpm.conf是php-fpm进程服务的配置文件

# cp /usr/local/php/php.ini-production /etc/php/php.ini

# cp /usr/local/php/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod 755 /etc/init.d/php-fpm

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

###测试php配置
# /usr/local/php/sbin/php-fpm -t
[23-May-2016 20:03:52] NOTICE:
configuration file /usr/local/php/etc/php-fpm.conf test is successful

# chkconfig --add php-fpm
# chkconfig php-fpm on
# service php-fpm start
        Starting php-fpm  done
# ps -ef|grep php
        root 45690 1 0 20:07 ? 00:00:00 php-fpm: master process(/usr/local/php/etc/php-fpm.conf)
        nobody 45691  45690  0 20:07 ?     00:00:00 php-fpm: pool www
        nobody 45692  45690  0 20:07 ?     00:00:00 php-fpm: pool www
        root   45694   3441  0 20:07 pts/4 00:00:00 grep php

# netstat -nltp|grep 9000
        tcp  0   0 127.0.0.1:9000   0.0.0.0:*    LISTEN   45690/php-fpm   

三、配置apache访问PHP

###开启以下模块
# vim  /etc/httpd24/httpd.conf     ###注意此处,我这里是单独编译安装的httpd2.4版本,所以路径有所不同
        LoadModule proxy_module  modeles/mod_proxy.so
        LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

        AddType  application/x-httpd-php  .php
        AddType  application/x-httpd-php-source  .phps

        ProxyRequests Off     ###关闭正向代理,开启下行的反向代理
        ProxyPassMatch ^/(.*\.php)$  fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1

# service httpd24 restart
        Stopping httpd24:             [  OK  ]
        Starting httpd24:             [  OK  ]

四、验证PHP

###编写一个php页面测试
# echo "
> <html>
> <h1>This is a php test page.</h1>
> <?php
> phpinfo();
> ?>
> </html>">>/usr/local/apache/htdocs/index.php  

###测试PHP
# curl -I http://localhost:90/index.php
HTTP/1.1 200 OK
Date: Fri, 15 Jul 2016 03:16:50 GMT
Server: Apache/2.4.9 (Unix)
X-Powered-By: PHP/5.6.9
Content-Type: text/html; charset=UTF-8
时间: 07-15

Linux 6 下编译安装 PHP 5.6的相关文章

linux下编译安装php各种报错大集合

PHP开源脚本语言 PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域.PHP的文件后缀名为php. 本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. 报错1:make 后报错如下: Generating phar.php /home/oldboy/tools/php-5.3.27

Linux下编译安装qemu和libvirt

目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 参考资料 KVM虚拟机(英语:Kernel-based Virtual Machine),是一种用于Linux内核中的虚拟化基础设施.KVM目前支援Intel VT及AMD-V的原生虚拟技术.KVM在2007年2月被导入Linux 2.6.20核心中.它也被引入FreeBSD.在Mac OS X中,

linux下编译安装boost库

转载:http://www.cnblogs.com/oloroso/p/4632848.html linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4.安装boost库到指定目录 5.测试一下 代码 编译运行 先看一下系统环境 Linux o-pc 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15

linux下编译安装nginx

1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf nginx-1.10.2.tar.gz 3.安装依赖库 sudo apt-get install libpcre3-dev aptitude libssl-dev sudo apt-get install openssl sudo apt-get install libssl0.9.8 sudo a

Linux(CentOS6.5)下编译安装PHP5.6.22时报错&rdquo;configure: error: ZLIB extension requires gzgets in zlib&rdquo;的解决方式(确定已经编译安装Zlib,并已经指定Zlib路径)

本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢!   今天在CentOS6.5下编译安装PHP时,一直报错 configure: error: ZLIB extension requires gzgets in zlib 而Zlib确定已经安装了. 使用Google根本搜索不到有关的错误. 尝试重新编译了Zlib,还是不行. 后面发现我的PHP编译选项里面有个 --with-libdir=lib64 \ 删除之,再

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin

CentOS 6.5下编译安装httpd+mysql+php+phpMyAdmin+cacti+nagios 一.安装环境 Linux系统:CentOS 6.5 Apache版本:http-2.4.12 MySQL版本:MySQL 5.6.24 PHP版本:PHP-5.6.8 基本的安装顺序为:先安装httpd,然后安装mysql,最后安装PHP. 软件包: [[email protected] httpdbao]# ll total 334908 -rwxrw-rw-. 1 root root

linux源码编译安装php出现 cannot find -lltdl

原因: 在编辑php时添加的“–with-mcrypt”选项造成. 解决方法: 1.如果不需要mcrypt,那么编辑php时去掉该选项,然后再make.make install. 2.如果需要mcrypt,那么需要安装libltdl libltdl在libmcrypt软件包中就有,具体过程: #cd /software/libmcrypt-2.5.8/libltdl #./configure –enable-ltdl-install #make #make install 这个时候再回到php的

在虚拟机linux环境下编译windows版adb fastboot

原文出自:http://blog.chinaunix.net/uid-20546441-id-1746200.html 我根据虚拟机编译遇到的问题进行一些添加 [前提条件] Linux Android源码完整 虚拟机磁盘空间100G左右(60G用来存放代码和编译后的文件) swap 30G左右,若太小会导致在编译后提示缺失文件 [具体步骤] 理论上,只要下一个windows版本的SDK,里面就自带了fastboot和adb工具. 但我最近确实遇到了一个需要在linux下编译出windows版本的

CentOS6.5_64bit下编译安装MySQL-5.6.23

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/44785511 ************************************************************         CentOS6.5_64bit下编译安装MySQL-5.6.23 **************************************************************一.关闭防火墙chkconfig iptable