分类:
2012-08-16 15:19:39
原文地址:LAMP应用架构部署指南V--PHP安装及设置 作者:henanren_cu
3. PHP的安装
PHP有两种安装方式:源码包安装和二进制包安装。这两种方式各有特色,二位制包安装不需编译,针对不同的平台有经过优化编译的不同的二进制文件以及包格式,安装简单方便;源码包则必须先配置编译再安装,可以根据你所用的主机环境进行优化,选择最佳的配置值,安装定制更灵活。
下面分别介绍这两种安装方式。
3.1 源码包方式安装
3.1.1 下载最新稳定发行版(GA)的PHP软件
访问PHP网站 下载最新稳定发行版的PHP源码包。本文使用的是5.2.5版本,在linux系统下用下面的命令下载:
wget
3.1.2 解压缩下载的源码包
首先建立一个工作目录( 笔者建议的目录为/usr/local/src/php ) :
mkdir -p /usr/local/src/php
将下载的源码包移至工作目录:
mv php-5.2.5.tar.gz /usr/local/src/php
进入工作目录并用tar命令解压源码包:
cd /usr/local/src/php
tar zxvf php-5.2.5.tar.gz
命令执行结束后,当前工作目录下将生成一个新的子目录php-5.2.5,此目录下即为php的源码文件。
3.1.3 配置Makefile文件
进入php源码目录:
cd php-5.2.5
执行下面的命令可查看可配置选项:
./configure --help
本文使用的配置命令如下:
CC=gcc CFLAGS= "-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/php-5.2.5 --with-apxs2=/usr/local/apache-2.2.6/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-openssl --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --with-freetype-dir --with-gettext --with-curl --with-iconv --enable-gd-native-ttf --enable-ftp --enable-embed --enable-fastcgi --enable-calendar --enable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-pcntl --enable-shmop --enable-exif --enable-mbstring --with-config-file-path=/usr/local/php-5.2.5/etc
配置选项说明:
CC:C编译器的名称(用于运行configure),本文示例为gcc
CFLAGS:C编译器的标志(用于运行configure),本文示例为-O3,指定优化级别为3
CXX:C++编译器的名称(用于运行configure),本文示例为gcc
CXXFLAGS:C++编译器的标志(用于运行configure)
--prefix:指定安装目录,本文示例为/usr/local/php-5.2.5
--with-mysql[=DIR]:包含MySQL扩展,[=DIR]指定mysql安装目录,省略[=DIR]则为默认位置/usr
--with-mysqli[=FILE]:包含MySQLI扩展,[=FILE]指定mysql_config文件位置,省略[=FILE]则为默认位置/usr/bin/mysql_config
--with-pdo-mysql[=DIR]:包含PDO:MySQL扩展,[=DIR]指定mysql安装目录,省略[=DIR]则为默认位置/usr
--with-apxs2[=FILE]:编译为Apahce2共享模块,[=FILE]指定apache2 apxs文件位置,省略[=FILE]则为默认位置/usr/sbin/apxs
--with-openssl[=DIR]:包含OPENSSL扩展,[=DIR]指定openssl安装目录,省略[=DIR]为默认位置/usr
--with-zlib[=DIR]:包含ZLIB扩展,[=DIR]指定zlib安装目录,省略[=DIR]为默认位置
--with-gd[=DIR] :包含GD扩展,[=DIR]指定gd库安装目录,省略[=DIR]为默认位置
--with-jpeg-dir[=DIR]:[=DIR]指定libjpeg安装目录,省略[=DIR]为默认位置
--with-png-dir[=DIR]:[=DIR]指定libpng安装目录,省略[=DIR]为默认位置
--with-zlib-dir[=DIR]:[=DIR]指定libz安装目录,省略[=DIR]为默认位置
--with-ttf[=DIR]:[=DIR]指定FreeType 1.x安装目录,省略[=DIR]为默认位置
--with-freetype-dir[=DIR]:[=DIR]指定FreeType 2安装目录,省略[=DIR]为默认位置
--with-gettext:包含GNU gettext扩展
--with-curl: 包含CURL扩展
--with-iconv:包含iconv扩展
--enable-gd-native-ttf:允许TrueType string功能
--enable-ftp:包含ftp扩展
--enable-embed:使用内建的SAPI库
--enable-fastcgi:启用快速cgi支持
--enable-calendar:启用calendar conversion支持
--enable-magic-quotes:启用magic-quotes支持
--enable-sockets:启用socket扩展
--enable-sysvsem:启用System V semaphore支持
--enable-sysvshm:启用System V shared memory支持
--enable-sysvmsg:启用sysvmsg支持
--enable-pcntl:在CGI/CLI下启用 pcntl支持
--enable-shmop:启用shmop支持
--enable-exif:启用EXIF (metadata from images)支持
--enable-mbstring:启用多字节字符串支持
--with-config-file-path:指定配置文件路径,本文示例为/usr/local/php-5.2.5/etc
3.1.4 编译源代码
执行下面的命令编译源代码:
make
3.1.5 安装
执行下面的命令安装PHP到目标路径:
make install
3.1.6 复制配置文件到指定的配置文件目录
源码方式安装需要手动复制配置文件,配置模板位于源码树的根目录,有php.ini-dist、php.ini-recommended两个,复制其中一个到先前指定的配置文件目录,并做适当修改。关于php配置文件的详细信息请参阅笔者的其它文章或 。
笔者推荐选择php.ini-recommended,执行下面的命令将其复制到先前指定的配置文件目录:
cp ./php.ini-recommended /usr/local/php-5.2.5/etc/php.ini
3.1.7 修改apache配置文件httpd.conf,启用PHP模块
本文示例apache配置文件为/usr/local/apache-2.2.6/conf/httpd.conf
php的apache共享模块位于php安装目录下的lib目录,本文示例为/usr/local/php-5.2.5/lib/libphp5.so
用vi命令编辑此配置文件:
vi /usr/local/apache-2.2.6/conf/httpd.conf
在适当位置加入下面的语句来启用php模块:
LoadModule php5_module /usr/local/php-5.2.5/lib/libphp5.so
接下来加入下需的语句告知Apache将特定的扩展名解析成PHP,本例为.php 、.phtml(可以将任何扩展名指定为 PHP,只需添加它们,每一个用空格分隔):
AddType application/x-httpd-php .php .phtml
通常还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以加入下面的语句来完成:
AddType application/x-httpd-php-source .phps
接下来修改DirectoryIndex指令,设置目录索引文件查找顺序:
DirectoryIndex index.php index.html
3.2 二进制包方式安装
3.2.1 从安装媒体安装
PHP二进制包已经包含在CentOS 5的安装媒体中,可以直接从安装媒体中安装下面的rpm包:
php-5.1.6-15.el5.i386.rpm
php-cli-5.1.6-15.el5.i386.rpm
php-common-5.1.6-15.el5.i386.rpm
php-devel-5.1.6-15.el5.i386.rpm
php-bcmath-5.1.6-15.el5.i386.rpm
php-gd-5.1.6-15.el5.i386.rpm
php-mbstring-5.1.6-15.el5.i386.rpm
php-mysql-5.1.6-15.el5.i386.rpm
php-ncurses-5.1.6-15.el5.i386.rpm
php-pear-1.4.9-4.noarch.rpm
php-xml-5.1.6-15.el5.i386.rpm
php-xmlrpc-5.1.6-15.el5.i386.rpm
(不同的版本文件名有所不同,请注意区分)
执行下面的命令安装以上所有rpm包:
rpm -iUvh php-*.rpm
3.2.2 通过yum安装
如果你安装的机器此时可以连接到互联网,笔者建议使用yum命令来简化安装过程:
yum install php*
yum将自动从centos的镜像站点查找PHP及其模块的所有最新二进制包,并检查软件包依赖关系,安装软件的同时自动安装其依赖的软件包。
3.2.3 修改apache配置文件httpd.conf,启用PHP模块
如果apache是直接RPM安装或是yum方式安装的,则跳过此步骤。
本文示例apache配置文件为/usr/local/apache-2.2.6/conf/httpd.conf
php的apache共享模块位于/usr/lib或/usr/lib64(64位系统)目录,本文示例为/usr/lib/httpd/modules/libphp5.so,并且链接到/etc/httpd
用vi命令编辑此配置文件:
vi /usr/local/apache-2.2.6/conf/httpd.conf
在适当位置加入下面的语句来启用php模块:
LoadModule php5_module /usr/lib/httpd/modules/libphp5.so
接下来加入下需的语句告知Apache将特定的扩展名解析成PHP,本例为.php 、.phtml(可以将任何扩展名指定为 PHP,只需添加它们,每一个用空格分隔):
AddType application/x-httpd-php .php .phtml
通常还将 .phps 扩展名设置成显示高亮的 PHP 源文件,可以加入下面的语句来完成:
AddType application/x-httpd-php-source .phps
接下来修改DirectoryIndex指令,设置目录索引文件查找顺序:
DirectoryIndex index.php index.html
4. 重启apache服务,以使设置生效
如果apache是直接rpm安装或yum方式安装,使用下面的命令重启服务:
service httpd restart
如果apache是源码方式安装,使用安装目录bin目录下的apachectl脚本重启服务,本文示例为:
/usr/local/apache-2.2.6/bin/apachectl restart
5. 结束语
至此,PHP基本安装完毕。希望本文能对初学者有所帮助。