Debian/Ubuntu源码编译安装PHP--支持FastCGI

从 php 5.3.3 起,就可直接使用 PHP-FPM ,不再需要打补丁了。此前已写过《Linux 从源码编译安装 PHP 5》 见 http://www.linuxidc.com/Linux/2011-10/45743.htm,但是以 mod_php 模块方式,而非 FastCGI 模式运行 php ,并不适用于 Lighttpd、Nginx、LiteSpeed ,而且当时对所有模块都采用编译安装也显得过于繁琐。

一、什么是 FastCGI、PHP-FPM、FastCGI ?

CGI是一种口;FastCGI 是 CGI 的扩展,让 CGI 更高效;PHP-FPM 是一个 PHP FastCGI 管理器;同理 Spawn-FCGI 是一个通用的 FastCGI 管理器,它是 lighttpd 中的一部份。

因此,以 FastCGI 模式运行 php 5.3.4,主要有两种方式,一是 PHP-FPM、二是 Spawn-FCGI ,本文要讲的是以 PHP-FPM 方式运行管理 php。

参考资料:

1、《php-fpm文档中文翻译》 http://www.linuxidc.com/Linux/2011-10/45747.htm
2、《什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?》 http://www.linuxidc.com/Linux/2011-07/38108.htm

二、准备工作

系统环境:Ubuntu-10.10-Server-I386
OpenSSL 版本:openssl-1.0.0c (安装方法见 http://www.linuxidc.com/Linux/2011-10/45738.htm
OpenSSH 版本:openssh-5.6p1 (安装方法见 http://www.linuxidc.com/Linux/2011-10/45739.htm
MySQL 5 版本:mysql-5.1.53-linux-i686-glibc23 (安装方法见 http://www.linuxidc.com/Linux/2011-10/45742.htm

三、编译安装 php5-gd

3.1、安装基础编译环境

1
apt-get install build-essential -y

3.2、安装 libpng、 libjpeg、 libfreetype

1
apt-get install libpng12-dev libjpeg62-dev libfreetype6-dev -y

3.3、源码编译安装 Libiconv

1
2
3
4
5
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar -zxf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1/
./configure --prefix=/usr/local
make && make install

3.4、源码编译安装 gd-2.0.35

1
2
3
4
5
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
tar -zxf gd-2.0.35.tar.gz
cd gd-2.0.35/
./configure --prefix=/usr/local --with-libiconv-prefix=/usr/local --with-png --with-freetype --with-jpeg
make && make install

四、编译安装 php5 扩展库

4.1、libxml、libmhash、libmcrypt、mcrypt、libldap、libsasl

1
apt-get install libxml2-dev libmhash-dev libmcrypt-dev mcrypt libldap2-dev libsasl2-dev libssh2-1-dev

4.2、编译安装 curl-7.21.3

1
2
3
4
5
wget http://curl.haxx.se/download/curl-7.21.3.tar.gz
tar -zxf curl-7.21.3.tar.gz
cd curl-7.21.3/
./configure --prefix=/usr/local
make && make install

五、编译安装 php5.3.4 (FastCGI)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
wget http://cn.php.net/distributions/php-5.3.4.tar.gz
tar -zxf php-5.3.4.tar.gz
cd php-5.3.4/ ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-openssl=/usr --with-png-dir --with-jpeg-dir --with-freetype-dir --with-iconv-dir=/usr/local --with-gd=/usr/local --enable-gd-native-ttf --with-libxml-dir --with-zlib --with-mhash --with-mcrypt --with-ldap --with-ldap-sasl --with-curl=/usr/local --with-curlwrappers --enable-bcmath --enable-calendar --enable-mbstring --enable-ftp --enable-zip --enable-sockets --enable-exif --enable-zend-multibyte --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data make && make install
cp php.ini-production /usr/local/php/lib/php.ini
<code>
 
--prefix #指定php5安装目录
--with-mysql #指定mysql安装目录
--with-mysqli #添加mysqli扩展支持
--with-openssl #指定openssl安装目录
--with-png-dir #GD所需的png库
--with-jpeg-dir #GD所需的jpeg库
--with-freetype-dir #指定freetype字体库
--with-iconv-dir #指定iconv函数库,用于字符集转换
--with-gd #指定GD库目录
--enable-gd-native-ttf #添加TrueType字符串函数库
--with-libxml-dir #指定libxml2库目录
--with-zlib #压缩库目录
--with-mhash #指定哈希函数库目录
--with-mcrypt #指定mcrypt加密函数库
--with-ldap #指定ldap库
--with-curl #指定cURL库
--with-curlwrappers #运用curl工具打开url流
--enable-bcmath #高精度数学函数支持
--enable-calendar #开启对日历的支持
--enable-mbstring #多字节、字符串支持
--enable-ftp #开启对ftp的支持
--enable-zip #开启对zip的支持
--enable-sockets #开启sockets支持
--enable-exif #图片元数据支持
--enable-zend-multibyte #zend多字节的支持
--enable-fpm #开启FastCGI的进程管理支持
--with-fpm-user #运行fpm的用户
--with-fpm-user #运行fpm的组
 
<h3>六、配置 php-fpm</h3>
 
<code lang=‘bash‘>
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf

查找下面语句,并将前面"#"号去掉。

1
2
3
4
5
6
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
pm.start_servers
pm.min_spare_servers
pm.max_spare_servers

6.2、开机自动重启 php-fpm

1
2
3
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod 755 /etc/init.d/php-fpm
update-rc.d php-fpm defaults

Debian/Ubuntu源码编译安装PHP--支持FastCGI

时间: 2024-10-18 10:15:01

Debian/Ubuntu源码编译安装PHP--支持FastCGI的相关文章

ubuntu 源码编译安装最新的vim 8.0

为什么要源码编译安装VIM? 因为我要安装ycm,ycm要求vim版本为8.0 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 1,核对系统版本 [email protected]:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: tr

debian 5 源码编译安装 lighttpd

下载lighttpd,指定压缩包存放目录: wget -p /opt http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.35.tar.gz 新建一个目录,用于存放解压缩的源码: mkdir /usr/local/lighttpd 解压缩源码: tar -xvf /opt/lighttpd-1.4.35.tar.gz -C /usr/local/lighttpd cd /usr/local/lighttpd/ligh

(转)ubuntu源码编译安装php常见错误解决办法

原文地址 http://blog.csdn.net/white__cat/article/details/28907535 './configure' '–prefix=/usr/local/PHP' '–with-config-file-path=/etc' '–with-MySQL=/usr/local/mysql' '–with-mysqli=/usr/local/mysql/bin/mysql_config' '–with-iconv-dir=/usr/local' '–with-fre

ubuntu 源码编译安装

下载xxx.tar 源码包,解压tar 包(tar -xzvf  xxx.tar.gz -C 解压目录默认当前): 检查有没有makefile文件,没有的话请进入解压后的文件夹运行automake(生产makefile 工具); 进入解压文件夹 ./configure ->make ->make install   (注意权限): 默认安装/usr/local/bin ,改变安装路径 ./configure --prefix=/opt/xxx

Deepin 15.4/Ubuntu 14 源码编译安装 MySQL-5.6.35

在 Ubuntu 下,先前一直是 二进制包解压安装,详情参考: http://www.cnblogs.com/phpgo/p/5680906.html 现改为 源码编译安装: #!/bin/bash # 安装 依赖库 sudo apt-get -y install make cmake gcc g++ bison openssl libssl-dev libncurses5-dev # 创建 数据 文件夹 sudo mv /fiisoo/mysql /fiisoo/mysql.$(date "+

Ubuntu下升级git版本(源码编译安装git)

Ubuntu自带的git是1.7的版本的,太旧了,所以想升级下,git官网上没有提供现成的安装包,所以只能源码编译了. linux上源码编译安装Git拢共分两步: 第一步,安装编译git的依赖包 第二步,下载源码,编译安装git 安装git的安装包: 在apt-get的系统上: sudo apt-get install curl curl-devel zlib-devel openssl-devel perl cpio expat-devel gettex-devel 在yum的系统上: yum

LAMP纯源码编译安装日志

一.LAMP构架的安装与经验技巧(源码安装好处.是便于管理,可以选定参数,可以使用新版本) 相关软件列表: # ls /soft/ | grep -E "*.gz|*.zip|*.xz|*.bz2"    apr-1.4.5.tar.gz    apr-util-1.3.12.tar.gz    autoconf-2.61.tar.gz    freetype-2.3.12.tar.gz    httpd-2.4.18.tar.bz2    jpegsrc.v6b.tar.gz    

CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使用PHP/Perl/Python等语言的动态网站,如商务网站.博客.论坛和开源Web应用程序软件等,它是互联网上被广泛使用的Web网站架构之一. 部署方式 从网站规模大小(访问流量.注册用户等)角度来看,LNMP架构可以使用单机部署方式和集群部署方式.单机部

Ubuntu14.04 64Bit 中从源码编译安装Gtk-3.16.3

(一)从源码编译安装GTK开发环境 为了便于获取源码,截止2015-05-26的gtk相关源码的存放于网盘中: 1. 相关网址 1)GTK+ Website 2)Compiling the GTK+ libraries  Overview of GTK+ and its Libraries 2.下载和编译源码包 1)下载源码:  (版本:gtk+-3.16.3.tar.xz) 2)解压配置gtk源码 $ tar xvfJ gtk+-3.16.3.tar.xz $ cd gtk+-3.16.3/