linux下php 5.4.* 编译安装步骤详解

据说php5.4要比此前各版本的php快不少,所以有必要安装来测试一下(国内比较流行的一些php程序比如discuz等等对php5.4的支持貌似还不太友好,所以站长朋友们还是要慎重升级)。下面是在64位centos6.1上面编译安装的笔记,仅供参考。

1、下载

wget http://cn.php.net/get/php-5.4.8.tar.gz/from/this/mirror
wget http://pecl.php.net/get/memcache-2.2.7.tgz
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
wget https://github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
wget https://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?modtime=1171868460&big_mirror=0"
wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&big_mirror=0"
wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick.tar.gz
wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0"
wget http://pecl.php.net/get/imagick-3.1.0RC2.tgz

2、另外一些准备工作

yum install ncurses-devel libxml2-devel bzip2-devel libcurl-devel curl-devel libjpeg-devel libpng-devel freetype-devel net-snmp-devel -y

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/ (假定mysql已经安装。不加这个的话后面编译的时候可能会出错)

3、还有这些准备工作(编译一些php需要用到的支持库)

tar xzvf libic*
cd libic*
./configure --prefix=/usr/local
make
make install
cd ..

tar xzvf libmcry*
cd libmcry*
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure
--enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure
make
make install
cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
/sbin/ldconfig
./configure
make
make install
cd ../

4、开始编译安装php

tar xvzf php-5.4.*.tar.gz cd php-5.4.*

./configure --prefix=/usr/local/php --with-config-file-path=/etc \
--with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/mysql/ --with-iconv-dir=/usr/local --enable-fpm \
--disable-phar --with-fpm-user=www --with-fpm-group=www --with-pcre-regex \
--with-zlib --with-bz2 --enable-calendar --with-curl --enable-dba --with-libxml-dir \
--enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir \
--enable-gd-native-ttf --enable-gd-jis-conv --with-mhash --enable-mbstring --with-mcrypt \
--enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip \
--enable-bcmath --with-snmp --disable-ipv6

make ZEND_EXTRA_LIBS='-liconv'

make test

make install

cp php.ini-production /etc/php.ini

5、编译安装php的一些扩展模块

tar zxvf memcache-*.tgz
cd memcache-*/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ../

tar xzvf libevent*
cd libevent*
./configure --prefix=/usr/local
make
make install
cd ..

tar xvzf memcached-*.gz
cd memcached-*
./configure --with-libevent=/usr/local --prefix=/usr/local/memcached
make
make install
cd ../

tar zxvf ImageMagick.tar.gz
cd ImageMagick-*/
./configure
make
make install
cd ../

tar zxvf imagick-*.tgz
cd imagick-*/
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install
cd ../

6、修改php的一些参数配置

vi /etc/php.ini
增加这些:

extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
extension = "memcache.so"
extension = "imagick.so"
修改这些:

cgi.fix_pathinfo=0

 

服务器安装好php之后,出于安全考虑,需要禁用掉一些有潜在危险的php函数。下面这些函数如果没有特殊需要,可以禁用掉:

exec,system,phpinfo,eval,passthru,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,fsocket,fsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

禁用方法:

修改php.ini,找到disable_functions,修改为:

disable_functions = exec,system,phpinfo,eval,passthru,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,fsocket,fsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
参考资料:

时间: 2024-09-17 23:29:38

linux下php 5.4.* 编译安装步骤详解的相关文章

Centos6下mysql 5.5.* 编译安装步骤详解

MySQL5.5的源码编译采用cmake,与此前的版本有所区别,下面是一次完整的编译安装过程: 1.下载 wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.28.tar.gz/from/http://cdn.mysql.com/ 2.安装编译mysql5.5所需的一些工具 yum install gcc gcc-c++ cmake ncurses-devel bison -y 3.新建相关的用户 /usr/sbin/group

Linux下Web统计软件Piwik安装步骤详解

Piwik是一个开源的Web网站统计软件, Piwik安装过程也很简单, 需要先安装好lamp或者lnmp的Web运行环境. 安装图解 Piwik软件下载:http://builds.piwik.org/piwik.zip 安装截图 在服务器上安装piwik的时候报下面的错误: in_array() expects parameter 2 to be array, null given in '/alidata/www/piwik/plugins/Installation/Controller.

lnmp环境下zabbix编译安装步骤详解

由于已有php运行环境,所以只需要编译安装zabbix即可.一.安装依赖组件 yum -y install net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath fping OpenIPMI-devel php-mbstring 二.编译安装zabbix ①.下载zabbix cd /usr/local/srcwget -O zabbix-2.4.3.tar.gz -c "http://sourceforge.net/project

CentOS下MySQL 5.7.9编译安装步骤详解

MySQL 5.7 GA版本的发布,也就是说从现在开始5.7已经可以在生产环境中使用,有任何问题官方都将立刻修复. MySQL 5.7主要特性: 更好的性能:对于多核CPU.固态硬盘.锁有着更好的优化,每秒100W QPS已不再是MySQL的追求,下个版本能否上200W QPS才是吾等用户更关心的 更好的InnoDB存储引擎 更为健壮的复制功能:复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL数据库.此外,GTID在线平滑升级也变得可能 更好的优化器:优化器代码重构的意义将在

linux系统openssh的源码编译安装步骤详解

1.安装响应的devel包,不然要报错头文件找不到. yum install zlib-devel openssl-devel tcp_wrappers-devel libselinux-devel pam-devel -y 2.下载最新的openssl. wget ftp://ftp5.usa.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-6.6p1.tar.gz 3.编译安装. ./configure --with-pam --with-m

lnmp编译安装步骤详解

我们为什么采用LNMP这种架构? 采用Linux.PHP.MySQL的优点我们不必多说. Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,已经在一些俄罗斯的大型网站上运行多年,目前很多国内外的门户网站.行业网站也都在是使用Nginx,相当的稳定. Nginx相当的稳定.功能丰富.安装配置简单.低系统资源-- Linux采用的是centos,软件包统一放在/usr/local/src目录下.由于 ce

Nginx1.10.1lua环境编译安装步骤详解

安装 download nginx & pcre & LuaJIT [root@LinuxEA local]# curl -sO http://nginx.org/download/nginx-1.10.1.tar.gz [root@LinuxEA local]# curl -sO http://nchc.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz [root@LinuxEA local]# curl -sO htt

linux下源代码包的编译安装

linux下源代码包的编译安装其实没那么复杂. 我是win7系统装的虚拟机,就简单说下: 举个简单的例子: http://www.openssl.org/ 这是openssl的官网,下载openssl包(官网肯定是安全的)要是其他的网上下载的--scripts看清包的脚本在玩,别最后安装不成一卸掉发现 "/"没了. 然后上传到你的虚拟机,要是都不知道怎么上传上去,那就别学了. 本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/

MySql 5.7.14 解压版安装步骤详解_Mysql

下面主要分为五大步给大家介绍mySql 5.7.14 解压版安装教程.感兴趣的朋友一起看看吧. 第一步:下载最近的MySQL文件并且解压: 下载最新版的MySQL–mysql-5.7.12下载地址 将下载到的文件解压缩到自己喜欢的位置,例如我自己的位置是D:\MySQL\mysql-5.7.12-winx64 第二步:配置环境变量 这里不多说,bin目录配置到path下面就行了. 第三步:添加配置文件 直接复制一个解压路径下面的 my-default.ini文件,重命名为my.ini然后编辑该文