您的位置:首页 > 编程语言 > PHP开发

PHP系列—安装与配置(完全源码安装)

2017-07-17 11:06 465 查看

一、安装PHP的插件

若运行正式的PHP应用,以下插件最好全部安装,避免运行时错误。

安装步骤:先安装zlib,freetype,libpng,jpeg等,再装GD,再装PHP。

1、安装curl,以便可以在PHP中使用curl相关的功能

CURL(Client URL Library Functions)是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。CURL同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法,FTP 上传, kerberos认证,HTTP上传, 代理服务器, cookies, 用户名/密码认证,下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunneling),甚至它还支持IPv6, socks5代理服务器, 通过http代理服务器上传文件到FTP服务器等等,功能十分强大。

使用CURL的PHP扩展可以完成很多网络数据的操作。

[root@localhost src]# wget https://curl.haxx.se/download/curl-7.54.1.tar.gz [root@localhost src]# tar xvf curl-7.54.1.tar.gz
[root@localhost src]# cd curl-7.54.1
[root@localhost curl-7.54.1]# chmod -R a+x .
[root@localhost curl-7.54.1]# ./configure --prefix=/usr/local/curl --enable-shared
[root@localhost curl-7.54.1]# make
[root@localhost curl-7.54.1]# make install


2、安装libxml

Libxml2是一个用来解析XML文档的函数库。它用C语言写成,并且能为多种语言所调用,例如C语言, C++, C#, Python, Kylix/Delphi, PHP, Ruby, Pascal, Tcl等。它最初是为GNOME开发的项目,但现在可以用在各种各样的场合。libXML2代码可移植性非常好,因为它基于标准的ANSI C,并采用M
4000
IT许可证。它可以移植到各种各样的系统,包括Linux, Unix, Windows, CygWin, MacOS, MacOS X, RISC Os, OS/2, VMS, QNX, MVS, VxWorks等等。

可从ftp://xmlsoft.org/libxml2/处下载libxml2的最新源码,当前为libxml2-2.9.0.tar.gz,解开后可以看到,源文件都在根目录下,所有文档在doc目录,头文件在include/libxml/目录下。

[root@localhost src]# wget ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz [root@localhost src]# tar xvf libxml2-2.9.4.tar.gz
[root@localhost src]# cd libxml2-2.9.4
[root@localhost libxml2-2.9.4]# chmod -R a+x .
[root@localhost libxml2-2.9.4]# ./configure --prefix=/usr/local/libxml2 --enable-shared
[root@localhost libxml2-2.9.4]# make
[root@localhost libxml2-2.9.4]# make install


3、安装zlib

zlib 是通用的压缩库,提供了一套 in-memory 压缩和解压函数,并能检测解压出来的数据的完整性(integrity)。zlib 也支持读写 gzip (.gz) 格式的文件。

[root@localhost src]# wget http://zlib.net/zlib-1.2.11.tar.gz [root@localhost src]# tar xvf zlib-1.2.11.tar.gz
[root@localhost src]# cd zlib-1.2.11
[root@localhost zlib-1.2.11]# ./configure --prefix=/usr/local/zlib --enable-shared
[root@localhost zlib-1.2.11]# make
[root@localhost zlib-1.2.11]# make install


4、安装freetype

FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。

[root@localhost src]# wget https://jaist.dl.sourceforge.net/project/freetype/freetype2/2.8/freetype-2.8.tar.gz [root@localhost src]# tar xvf freetype-2.8.tar.gz
[root@localhost src]# cd freetype-2.8
[root@localhost freetype-2.8]# ./configure --prefix=/usr/local/freetype --enable-shared
[root@localhost freetype-2.8]# make
[root@localhost freetype-2.8]# make install


5、安装libpng

libpng是一款C语言编写的比较底层的读写PNG文件的跨平台的库。借助它,你可以轻松读写PNG文件的每一行像素。

因为PNG文件是经过压缩而且格式复杂的图形文件(有的PNG文件甚至像GIF文件一样带动画效果)而且PNG可以是带透明通道的真彩色图像、不带透明通道的真彩色图像、索引颜色、灰度颜色等各种格式,如果大家都自己写程序分析PNG文件就会显得很麻烦、很累。因此,通过使用libpng你就能直接使用现成的函数、程序来读写PNG文件了。

[root@localhost src]# wget https://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.30/libpng-1.6.30.tar.gz [root@localhost src]# tar xvf libpng-1.6.30.tar.gz
[root@localhost src]# cd libpng-1.6.30
[root@localhost libpng-1.6.30]# ./configure --prefix=/usr/local/libpng --enable-shared
[root@localhost libpng-1.6.30]# make
[root@localhost libpng-1.6.30]# make install


6、安装jpeg支持

可以用这个库实现JPG图片的各种操作

[root@localhost src]# wget http://down1.chinaunix.net/distfiles/jpegsrc.v7.tar.gz [root@localhost src]# tar xvf jpegsrc.v7.tar.gz
[root@localhost src]# cd jpeg-7/
[root@localhost jpeg-7]# ./configure --prefix=/usr/local/jpeg --enable-shared
[root@localhost jpeg-7]# make
[root@localhost jpeg-7]# make install


7、安装gmp

GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。

[root@localhost src]# wget http://down1.chinaunix.net/distfiles/gmp-4.1.4.tar.gz [root@localhost src]# tar xvf gmp-4.1.4.tar.gz
[root@localhost src]# cd gmp-4.1.4/
[root@localhost gmp-4.1.4]# ./configure --prefix=/usr/local/gmp --enable-shared
[root@localhost gmp-4.1.4]# make
[root@localhost gmp-4.1.4]# make install


8、安装libXpm

GMP是The GNU MP Bignum Library,是一个开源的数学运算库,它可以用于任意精度的数学运算,包括有符号整数、有理数和浮点数。它本身并没有精度限制,只取决于机器的硬件情况。

[root@localhost src]# wget ftp://194.97.2.67/pub/.disk0/ftp.x.org/pub/X11R7.4/src/everything/libXpm-3.5.7.tar.gz [root@localhost src]# tar xvf libXpm-3.5.7.tar.gz
[root@localhost src]# cd libXpm-3.5.7/
[root@localhost libXpm-3.5.7]# ./configure --prefix=/usr/local/libXpm --enable-shared
[root@localhost libXpm-3.5.7]# make
[root@localhost libXpm-3.5.7]# make install


9、安装gd库支持

上边安装的都是gd库的支持性的插件,下边开始安装gd库。

GD库,是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。

在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。

[root@localhost src]# wget http://down1.chinaunix.net/distfiles/gd-2.0.33.tar.gz [root@localhost src]# tar xvf gd-2.0.33.tar.gz
[root@localhost src]# cd gd-2.0.33
[root@localhost gd-2.0.33]# ./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-zlib=/usr/local/zlib --with-freetype=/usr/local/freetype
[root@localhost gd-2.0.33]# make
[root@localhost gd-2.0.33]# make install


make时出现的问题:gd_png.c:15:53: fatal error: png.h: No such file or directory

#include “png.h” /* includes zlib.h and setjmp.h */

解决方法

vi gd_png.c
将
#include “png.h”
替换成:
#include “/usr/local/libpng/include/png.h”


然后再make就可以了。

注:include“”双引号里包含的是libpng安装的路径里的include文件夹里的png.h文件

二、安装并配置PHP

[root@localhost src]# wget http://111.63.135.185/files/2062000036B2AF58/test-powercdn.haima001.com/php-5.5.38.tar.gz [root@localhost src]# tar xvf php-5.5.38.tar.gz
[root@localhost src]# cd php-5.5.38
[root@localhost php-5.5.38]# ./configure --prefix=/usr/local/php \
--with-config-file-scan-dir=/etc/php.d \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=/usr/local/mysql/ \
--enable-mbstring --enable-sockets \
--enable-soap --enable-ftp --enable-xml \
--with-iconv --with-curl --with-openssl \
--with-gd=yes --with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir=/usr/local/jpeg \
--with-png-dir=/usr/local/libpng \
--with-zlib=yes --enable-pcntl --enable-cgi \
--with-gmp --with-libxml-dir=/usr/local/libxml2 \
--with-curl=/usr/local/curl \
--with-xpm-dir=/usr/local/libXpm \
--with-gmp=/usr/local/gmp
[root@localhost php-5.5.38]# make
[root@localhost php-5.5.38]# make install


注意:这里有一个-with-apxs2=/usr/local/apache/bin/apxs选项,其中apxs是在安装Apache时产生的,apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中。

如果决定在安装PHP后改变配置选项,只需重复最后的三步configure, make, 以及 make install,然后需要重新启动 Apache 使新模块生效。Apache不需要重新编译。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: