http://www.linuxidc.com/Linux/2011-10/45743.htm
配置PHP开发环境前获取软件包。笔者用的mysql版本是社区版本的。主要软件包有:
httpd,mysql,php,gd-2.0.35,zlib1.2.7,pcre-8.32,libxml2-2.9.0,libpng- 1.5.13,libmcrypt-2.5.8,libiconv-1.14,fontconfig-2.10.2,jpegsrc- v8d,freetype-2.4.10
autoconf-2.69 其他php扩展可自己另外下载安装,这里主要介绍以上几种。除了httpd,msyl,php外,
这里有下载地址,可以自己下载最新版本。全部下载源码包,也就是以 tar.gz 或者 tar.bz2 结尾的文件
httpd http://httpd.apache.org/download.cgi
mysql http://http://dev.mysql.com/downloads/mysql/
php http://http://www.php.net/downloads.php
gd http://download.chinaunix.net/download/0004000/3479.shtml
zlib http://www.zlib.net/
pcre ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
libxml2 ftp://gd.tuwien.ac.at/pub/libxml/
libpng ftp://ftp.simplesystems.org/pub/libpng/png/src/
libmcrypt http://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/
libiconv http://www.gnu.org/software/libiconv/#TOCdownloading
fontconfig http://www.freedesktop.org/software/fontconfig/release/
jpeg8d http://www.ijg.org/files/
freetype http://download.savannah.gnu.org/releases/freetype/
autoconf http://ftp.gnu.org/gnu/autoconf/
下载以上软件后,如果用户用的是CentOS最简版,也就是minimal版,需要安装支持软件:
yum -y install libxml2 , yum -y install libxml2-devel , yum -y install zlib , yum -y install zlib-devel , yum -y install freetype , yum -y install freetype-devel
还需要安装编译器:yum -y install gcc , yum -y install gcc-c++ , yum -y install make
linux下压缩包的加压命令是: tar -zxvf xxxx.tar.gz tar -jxvf xxxx.tar.bz2
编译安装的时候使用 configure 命令配置
使用 make 命令编译
使用 make install 命令安装
安装时使用的 --prefix=${PATH} 来指定要安装的目录。这里我们统一安装在 /usr/local 下。
安装autoconf
进入存放软件的文件夹,使用 tar -zxvf autoconf-2.69.tar.gz 解压缩 , 如果是 tar.bz2 的文件则用 tar -jxvf autoconf-2.69.tar.bz2 解压
进入autoconf-2.69文件夹,使用命令:cd autoconf-2.69
进行配置,使用命令: ./configure --prefix=/usr/local/autoconf (--prefix 命令指定安装位置)
配置后使用编译命令进行编译: make
编译后使用安装命令安装: make install
这样autoconf-2.69就安装完成了。
安装libiconv
解压缩libiconv-1.14.tar.gz
进入libiconv-1.14文件夹
配置: ./configure --prefix=/usr/local/libiconv
编译: make
安装 : make install
完成安装
安装zlib
解压缩后进入zlib-1.2.7文件夹
编译安装即可: ./configure --prefix=/usr/local/zlib && make && make install
安装libxml2
解压缩后进入libxml2-2.9.0
编译安装即可: ./configure --prefix=/usr/local/libxml2 && make && make install
安装freetype
解压缩后进入freetype-2.4.10
直接编译安装即可: ./configure --prefix=/usr/local/freetype && make && make install
安装libpng
解压缩后进入libpng-1.5.13
直接编译安装: ./configure --prefix=/usr/local/libpng && make && make install
安装jpeg8
解压缩后进入jpeg-8d
编译安装前需要自己手动创建文件夹,系统不会自己 创建
使用命令: mkdir /usr/local/jpeg8
mkdir /usr/local/jpeg8
mkdir /usr/local/jpeg8/lib
mkdir /usr/local/jpeg8/bin
mkdir /usr/local/jpeg8/include
mkdir -p /usr/local/jpeg8/man/man1
在配置时还需要加上命令: --enable-shared --enable-statis 这两个命令用于生成共享库
创建完以上文件夹后开始编译安装
配置: ./configure --prefix=/usr/local/jpeg8 --enable-shared --enable-static
编译: make
安装: make install
完成安装
安装libmcrypt
解压缩后进入libmcrypt-2.5.8
直接编译安装即可: ./configure --prefix=/usr/local/libmcrypt && make && make install
安装fontconfig
解压缩后进入fontconfig-2.10.2
配置: ./configure --prefix=/usr/local/fontconfig --enable-iconv -enable-libxml2 --with-libiconv=/usr/local/libiconv
编译: make
安装: make install
安装gd库
解压缩后进入gd2.0.35
配置: ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg8 --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/fontconfig
配置后会显示以下信息
** Configuration summary for gd 2.0.34:
Support for PNG libarary: yes
Support for JPEG libarary: yes
Support for Fontconfig libarary: yes
Support for Freetype 2.x libarary: yes
Support for Xpm libarary: no
Support for pthreads: yes
显示以上则说明gd库支持png,jpeg,fontconfig,freetype
在编译之前修改 gd_png.c 文件,使用 vi 命令打开 gd_png.c 文件: vi gd_png.c ,找到 #include "png.h" ,改为: #include "/usr/local/libpng/include/png.h"
也就是libpng扩展库文件夹下的inlcude里面的png.h
编译: make
安装: make install
完成安装
安装pcre
解压缩后进入pcre-8.32
编译安装: ./configure --prefix=/usr/local/pcre && make && make install
安装apr
解压缩后进入apr-1.4.6
编译安装: ./configure --prefix=/usr/local/apr
安装apr-util
解压缩后进入apr-util-1.5.1
编译安装: ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install
安装apache
解压缩后进入httpd-2.4.3
配置: ./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-z=/usr/local/zlib --enable-cache
--enable-file-cahce --enable-disk-cache --enable-mem-cache --sysconfdir=/etc/httpd --enable-mods-shared=all --enable-deflate --enable-speling --enable-so
--enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdir
编译: make
安装: make install
安装后进入apache下面的bin文件夹,使用命令: cd /usr/local/apache/bin
启动apache,命令: ./apachectl start
启动后在浏览器输入 http://localhost 如果显示 It Works! 说明apache安装成功
接下来修改apache的配置文件,命令:
vi /etc/httpd/httpd.conf , 打开后在小写键盘模式下 按 j 到
#ServerName www.example.com:80
再按 x 删除掉 # ,再按ESC , 再输入 :wq 保存退出
接下来把apache服务设置为开机启动,使用命令: cd /etc/rc.d 进入 rc.d 文件夹
再用命令 vi rc.local 打开 rc.local 文件
键盘切换成大写,按G,切换成小写,按o,输入以下代码
/usr/local/apache/bin/apachectl start
按ESC退出插入模式,再输入 :wq 保存退出
把bin文件夹里面的apachectl文件复制到/usr/bin文件夹里面,命令: cp /usr/local/apache/bin/apachectl /usr/bin/httpd
这样以后就能在终端直接开启,停止,重启apache服务来。注意:上面的apachectl已经被我重命名为httpd
到这里apache服务器编译安装完成
安装mysql,笔者下载的是社区版的mysql,也就是MySQL Community Server,版本是5.5.28的,这个使用方便。其他版本的安装方法这里就不介绍了。
解压缩后,使用命令复制到 /usr/local/ 文件夹下,命令: cp /mysql-5.5.28-linux2.6-i686 /usr/local/mysql
进入mysql文件夹,命令: cd /usr/local/mysql
给系统添加mysql用户组和mysql用户
命令:
groupadd mysql
useradd -g mysql mysql
接下来改变mysql文件夹及子文件夹的用户属性和用户组属性,命令: cd /usr/local/mysql 进入mysql文件夹
输入命令:chkgrp -R mysql . 注意有一个点,将mysql的用户组属性改为mysql
输入命令:chown -R root . 注意有一个点,将mysql的用户属性改为root用户
输入命令:chown -R mysql data 将存放数据的文件夹的用户属性改为mysql用户
接下来初始化mysql数据库。
进入mysql文件夹,命令: cd /usr/local/mysql
初始化数据库的文件放在scripts文件夹里,进入改文件夹: cd scripts
如果是用mysql用户登录的话,下面的 --user选项可以省略,如果是 root 用户或者其他用户, 则需要指定 --user选项为mysql用户.这里设置成mysql用户,在后面改变mysql文件夹的用户属性和用户组属性与现在 --user选项指定的不一样,会导致无法开机启动.
执行初始化: ./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data 这两个选项顾名思义,分别指定了mysql的路径以及指定的数据库的路径。如果不指定这两个文件夹的路径会出 现:FATAL ERROR: Could not found ./bin/my_print_defaults 错误
初始化成功后,会出现如下信息:
Installing MySQL system tables...
OK
Filling help tables...
OK
接下来进入bin文件夹,命令 : cd /usr/local/mysql/bin
开启mysql服务,命令: ./mysql_safe --user=mysql & 注意: --user=mysql 必须是连续的,中间不能有空格.
开启后进入mysql,刚初始化后还没有密码,所以不用填写密码,命令如下:
./mysql --u root -p
按Enter后会提示出入密码,不用输入密码,直接Enter进入。
进入后会显示欢迎信息:
Welcome to the MySQL monitor
在mysql操作界面下输入 use mysql ,选择mysql数据库
再输入 Select User,Host,Password FROM user ; 注意:这里要有分号或者 g ,这是命令的运行,除了个别(像刚才的user mysql)命令不用 分号或者 g 外,都要用输入分号或者 g , 输入后按Enter执行命令
可以在屏幕上看到有关用户,主机和密码的信息。最后两个主机没有用户,删除掉,使用命令:
DELETE FROM user WHERE User = "" ;
接下来修改密码,代码如下: 注意:以下password函数引号里的密码用户自己决定,这里用1234代替
set password for 'root'@'localhost' = password('1234') ; set password for 'root'@'localhost.localdomain' = password('1234') ; set password for 'root'@'127.0.0.1' = password('1234') ; set password for 'root'@'::1' = password('1234') ;
密码修改后输入exit退出或者Ctrl+C
进入support-files,命令: cd /usr/local/mysql/support-files
复制mysql.server 文件到 /etc/rc.d/init.d 这样mysql就能开机启动了,命令:
cp mysql.server /etc/rc.d/init.d/mysqld 注意:这里 mysql.server 被我改成mysqld
修改权限:chown root.root /etc/rc.d/init.d/mysqld 这里修改用户属性
chmod 755 /etc/rc.d/init.d/mysqld 这里修改执行权限
再把mysqld设置成在字符集界面和图形界面开机启动,命令:
chkconfig --add mysqld
chkconfig --level 3 mysqld on (3代表字符界面)
chkconfig --level 5 mysqld on (5代表图形界面)
再复制mysql的配置文件 my-medium.cnf 到 /etc ,命令:
cp my-medium.cnf /etc/my.cnf 注意:这里被我改名为my.cnf
接下来修改mysql的默认字符编码,这里设置成utf8,命令如下:
vi /etc/my.cnf 打开 my.cnf 文件
找到 [client]
键盘切换成小写,按 j 移动到socket,再按 o
在socket下面添加:default-character-set=utf8 添加后按ESC
再按 j 移动到 myisam_sort_buffer_size , 再按 o
输入:character-set-server=utf8 按回车
输入:character-set-filesystem=utf8
输入后按ESC, 再 输入 :wq 保存退出
以上三个字符集的设置要输入正确,否则会导致mysql无法启动
设置后进入bin文件夹,命令: cd /usr/local/mysql/bin
再输入命令停止mysql服务,命令:./mysqladmin -u root shutdown -p
再输入密码,停止服务。
再输入命令开启服务,跟上面一样,命令:
./mysqld_safe --user=mysql &
这样重启后字符集的设置就生效了。
最后把bin文件夹下的mysql,mysqladmin,mysqld_safe三个文件复制到 /usr/bin 下面,就可以在终端直接开启,停止mysql服务和进入mysql,命令:
cp mysql mysqladmin mysqld_safe /usr/bin
到此,mysql的安装完成
在编译安装php之前需要修改下gd2文件夹下include里的gd_io.h
命令:vi /usr/local/gd2/include/gd_io.h
在小写键盘下按 j 到 gdIOCtx结构里面的void (*gd_free) ,再按 o
输入代码:void (*data); 注意:有分号
输入后按ESC , 再输入 :wq 保存退出
修改后解压php源码包,解压后进入源码包
配置: ./configure --prefix=/usr/local/php
>--with-config-file-path=/usr/local/php/etc
>--with-apxs2=/usr/local/apache/bin/apxs
>--with-mysql=/usr/local/mysql
>--with-msyqli=/usr/local/mysql/bin/mysql_config
>--with-pcre-dir=/usr/local/pcre
>--with-libxml-dir=/usr/local/libxml2
>--with-png-dir=/usr/local/libpng
>--with-jpeg-dir=/usr/local/jpeg8
>--with-freetype-dir=/usr/local/freetype
>--with-gd=/usr/local/gd2
>--with-zlib-dir=/usr/local/zlib
>--with-mcrypt=/usr/local/libmcrypt
>--enable-zip
>--enable-soap
>--enable-mbstring=all
>--enable-sockets
编译:make 编译后会提示make test ,这个是测试php用的,可以直接跳过,也可以测试
要测试就输入make test
测试再安装:make install
或者直接安装:make install
安装后复制源码包下的php.ini-development 到 /usr/local/php/etc ,命令:
cp php.ini-development /usr/local/php/etc/php.ini 注意:这里我把文件名改成了php.ini
修改 /etc/httpd 文件夹下的httpd.conf ,让apache服务器支持php,命令:
vi /etc/httpd/httpd.conf
在小写键盘模式下,按 j 到 AddType application/x-gzip .gz .tgz 再按 o
输入:AddType application/x-httpd-php .php .php3 .php5 .phtml
再按ESC 再输入 :wq 保存退出
接下来停止apache服务器,命令:/usr/local/apache/bin/apachectl stop
再启动apache服务器,命令:/usr/local/apache/bin/apachectl start
然后在 htdocs 文件夹下建立一个test.php 的文件,先进入htdocs文件夹,命令:
cd /usr/local/apache/htdocs
建立test.php文件,命令:vi test.php
建立后在小写键盘模式下按 i ,然后输入以下代码
<?php
date_default_timezone_set("PRC") ;
phpinfo() ;
?>
再按ESC , 再输入 :wq 保存退出
在浏览器地址栏输入 http://localhost/test.php,如果出现显示 php 版本的信息及相关配置信息,则说明php安装成功。
至此,php安装完成,php的开发环境编译安装成功。