Leo の Blog Where there is a will there is a way! Trust youself can do it!

25五/090

快速搭建Linux开发测试WEB服务器系列8-编译安装PHP

这篇我们介绍编译安装PHP, 目前PHP已经发布到5.2.9 版本. 我们本次安装即采用这个版本安装. 安装之前. 先安装几个依赖包. 在前面的系列文章中. 我们依据安装软件的不同软件陆续的安装了一些第三方的软件包. 这里说明一下就是, 如果前面介绍的软件包未安装. 这里请浏览前面的文章, 一次补上. 否则可能会碰到编译失败的情况. 当然, 可能没有人的电脑的环境安装的时候已经安装好了相关的包. 这里提醒一下. 不让到时候死活编译出错. 是件很烦人的事情. 我们采用静态编译安装PHP.  关于静态编译安装和动态编译安装后的PHP效率问题经过测试几乎是没有区别的. 所以安装方式看个人的喜好.

这里先安装一下几个必要的包:

1
2
3
sudo apt-get install flex
sudo apt-get install libxml2 libxml2-dev
sudo apt-get install openssl

另外需要一些其他扩展模块. 这里先安装一个 curl 模块 CURL 模块目前最新版本到了 7.19.5 , 我们使用最新版安装. 包下载地址是: http://curl.haxx.se/download.html , 下载好包 curl-7.19.5.tar.gz 后解压安装.

1
2
3
4
5
6
tar -zxf curl-7.19.5.tar.gz -C ~/sources
cd ~/sources/curl-7.19.5
sudo mkdir /usr/local/curl
./configure --prefix=/usr/local/curl --with-ssl
make
sudo make install

安装 GD 扩展, JPEG 图片处理支持, 下载地址: http://www.ijg.org/files/jpegsrc.v6b.tar.gz 下载好包:jpegsrc.v6b.tar.gz  后解压安装.

1
2
3
4
5
6
7
8
9
10
11
tar -zxf jpegsrc.v6b.tar.gz -C ~/sources
cd ~/sources/jpeg-6b
sudo mkdir /usr/local/jpeg
sudo mkdir /usr/local/jpeg/bin
sudo mkdir /usr/local/jpeg/lib
sudo mkdir /usr/local/jpeg/include
sudo mkdir /usr/local/jpeg/man
sudo mkdir /usr/local/jpeg/man/man1
./configure --prefix=/usr/local/jpeg --enable-shared --enable-static
make
sudo make install

GD扩展 PNG 图片处理支持. 下载地址为: http://www.libpng.org/pub/png/libpng.html 目前版本为: 1.2.35 ,  下载包:libpng-1.2.35.tar.gz 解压安装.

1
2
3
4
5
6
tar -zxf libpng-1.2.35.tar.gz -C ~/sources
cd ~/sources/libpng-1.2.35
cp scripts/makefile.linux makefile
./configure
make
sudo make install

另外安装一下 freetype 支持. 下载地址:http://freetype.sourceforge.net/index2.html , 下载包: freetype-2.3.9.tar.gz 解压安装.

1
2
3
4
5
tar -zxf freetype-2.3.9.tar.gz -C ~/sources
cd ~/sources/freetype-2.3.9
./configure --prefix=/usr/local/freetype2
make
sudo make install

另外2个加密相关的包 mcrypt 和 mhash 下载安装.

libmcrypt: http://mcrypt.sourceforge.net/ 下载 libmcrypt-2.5.8.tar.gz  解压安装

1
2
3
4
5
tar -zxf libmcrypt-2.5.8.tar.gz -C ~/sources
cd ~/sources/libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt
make
sudo make install

libmhash: http://sourceforge.net/projects/mhash 下载: mhash-0.9.9.9.tar.gz  解压安装

1
2
3
4
5
tar -zxf mhash-0.9.9.9.tar.gz -C ~/sources
cd ~/sources/mhash-0.9.9.9
./configure --prefix=/usr/local/libmhash
make
sudo make install

现在相关的准备工作已经做的差不多了. 可以安装PHP了. 到 http://www.php.net 下载目前最新的 php-5.2.9.tar.gz 包. 解压安装.  安装 php 编译过程比较漫长. 中途可以放心去做饭烧菜. 反正在我这个老电脑上是运行了不少时间. ^o^

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
tar -zxf php-5.2.9.tar.gz -C ~/sources
cd ~/sources/php-5.2.9
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-fastcgi \
--enable-force-cgi-redirect \
--with-config-file-path=/usr/local/php \
--with-openssl \
--with-zlib \
--with-zlib-dir=/usr/local/zlib \
--enable-bcmath \
--enable-calendar \
--with-curl=/usr/local/curl \
--with-curlwrappers \
--enable-ftp \
--with-gd \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local \
--with-freetype-dir=/usr/local/freetype2 \
--enable-gd-native-ttf \
--with-gettext \
--with-mcrypt=/usr/local/libmcrypt \
--with-mhash=/usr/local/libmhash \
--enable-mbstring \
--enable-exif \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-xmlrpc \
--enable-soap \
--enable-sockets \
--enable-zip
make
sudo make install

上面的 configure 参数不要直接COPY张贴到终端, 由于 WIN下的换行和linux的不一样. 其实只运行了 ./configure 这一句而已. 下面给出一行的configure 语句, COPY下面的即可执行 configure 操作了.  上面是方便查看PHP的编译环境设置而已.

1
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --enable-fastcgi --enable-force-cgi-redirect --with-config-file-path=/usr/local/php --with-openssl --with-zlib --with-zlib-dir=/usr/local/zlib --enable-bcmath --enable-calendar --with-curl=/usr/local/curl --with-curlwrappers --enable-ftp --with-gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local --with-freetype-dir=/usr/local/freetype2 --enable-gd-native-ttf --with-gettext --with-mcrypt=/usr/local/libmcrypt --with-mhash=/usr/local/libmhash --enable-mbstring --enable-exif --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-xmlrpc --enable-soap --enable-sockets --enable-zip

OK, PHP编译安装完成. COPY php.ini 文件到 /usr/local/php/php.ini 然后稍微修改一下. 把 PHP 错误显示模式打开. 设置: display_errors = On 然后保存退出.

1
2
sudo cp php.ini-recommended /usr/local/php/php.ini
sudo gedit /usr/local/php/php.ini

接下来我们测试一下PHP是否安装成功. 是否能和 Apache 正常的配合运行.  修改一下 apache 的配置文件, 使之支持解析PHP

PHP 如果安装成功顺利的话, 默认的在 httpd.conf 的 loadModule 那里已经添加好了 一行:

loadModule php5_mod    modules/libphp5.so

我们只要在这行下面添加些信息即可让apache支持php脚本. 添加下面信息.

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

然后在修改一下DirectoryIndex. 找到: DirectoryIndex index.html 后面添加变下面这样, 保存退出!

DirectoryIndex index.html index.htm index.php

接下来在 /usr/local/apache2/htdocs 下建立一个测试文件, phpinfo.php 输入内容 <?php phpinfo(); ?> 重启 Apache 服务.

1
sudo /etc/init.d/apache.server restart

现在打开浏览器, 在地址栏里输入: http://localhost/phpinfo.php 看看 php 是否已经正常安装好. 服务器的配置信息也全部显示出来了.

OK, 真要去做饭了. 这篇就先介绍到这里. 后面我们再介绍一下给现在的系统添加些扩展. 比如 memcache 之类的扩展.  下篇再说吧.

评论 (0) 引用 (0)

还没有评论.


发表评论


还没有引用.