当前位置: 首页 > 图文教程 > 网络编程 > PHP > apache的静态/动态编译在apache+php+mysql+gd中的应用

PHP
初学者入门:细述PHP4的核心Zend
网友分享:php与XML、XSLT、Mysql结合运用
DISCUZ架构:积分系统代码分析一
DISCUZ架构:积分系统代码分析二
DISCUZ架构:积分系统代码分析三
设置COOKIE保留时间为浏览器进程
通过ADO调用Access数据库和COM程序
判断一数是否在一已知数组中的函数
如何使用PHP中的日期和时间函数
一个PHP中常用email校验语句的解释
如何利Mcrypt扩展库进行加密和解密
PHP脚本的8个技巧(4)动态创建图象
实用技巧:PHP截取中文字符串的问题
PHP与已存在的Java应用程序集成
PHP3中使用ORACLE函数的使用说明
PHP技巧:得到一个字符串的最后一个字符
Linux系统下让PHP提高性能的工具APC
为您详解PHP开发工具的使用与分析
如何使用PHP开发高效的WEB系统
用 PHP V4 开发的代码迁移到 PHP V5

PHP 中的 apache的静态/动态编译在apache+php+mysql+gd中的应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 96 ::
收藏到网摘: n/a

apache1.3和apache2的静态/动态编译在apache+php+mysql+GD中的应用

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明

本文是在张微波的文章基础上改进而来,原始文章请见:
http://www.5ilinux.com/blog/archives/000010.html

Fedora Core 3服务器中的apache的静态/动态编译以及apache+php+mysql+gd的应用

我想大家有不少都成功实现apache+php+mysql+gd,网上的文章也有不少,但我发现不少文章都是抄来抄去,并且没有说明白编译的方式,有的索性apache1.3的编译方法原封不动的搬过来套在apache2.0,显然误导一些菜鸟。

我今天就以apache+mysql+php说一下静态编译和DSO动态编译的区别,我会分别拿apache1.3.27和apache2.0.46

说明,因为两个版本的编译命令是有所区别的。

系统和所需软件:
Redhat9.0
apache:1.3.27 和 2.0.46
php: 4.3.2
mysql:4.0.13

gd-2.0.33.tar.gz http://www.boutell.com/gd/
jpegsrc.v6b.tar.gz http://www.ijg.org/
libpng-1.2.7.tar.tar http://sourceforge.net/projects/libpng/
zlib-1.2.2.tar.gz http://sourceforge.net/projects/zlib/
freetype-2.1.9.tar.gz http://sourceforge.net/projects/freetype/

首先来安装mysql

先添加用户:
groupadd mysql
useradd mysql

然后编译mysql

tar zvxf mysql-4.0.13.tar.gz
cd mysql-4.0.13
./configure –prefix=/usr/local/mysql –with-zlib-dir=/usr –with-charset=gbk –sysconfdir=/etc –localstatedir=/var/mysql &&
make &&
make install

安装完成!(注:–with-charset=gbk是使mysql支持中文查询)

然后初始化数据库:

/usr/local/mysql/bin/mysql_install_db

设置权限:

chown -R root.mysql /usr/local/mysql
chown -R mysql.mysql /var/mysql

复制配置文件:

cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

复制启动文件:

cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysqld
chmod a+x /usr/local/mysql/share/mysql/mysqld

启动mysql:

/usr/local/mysql/share/mysql/mysqld start

修改密码:初始的root密码是空的

/usr/local/mysql/bin/mysqladmin -u root -p password 1234
enter password:

把密码修改为1234,由于初始密码为空,所以enter password直接回车就行

测试一下新的密码:

mysql -u root -p mysql
enter password:1234

如果顺利的话就能进入mysql。

好了mysql就讲这么多,有什么问题也不要问我,我对mysql不是很熟悉。

然后安装gd

最新的GD库包括了对GIF的支持,所以不要打GIF补丁

http://sourceforge.net/ 好多源代码包可以在上面找到

安装步骤:

先安装zlib,freetype,libpng,jpeg,再装GD

1.装zlib

tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install

2.安装libpng

tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux ../makefile
cd ..
make
make install
注意,这里的makefile不是用./configure生成,而是直接从scripts/里拷一个

3.安装freetype

tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install

4.安装Jpeg

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure –enable-shared
make
make test
make install
注意,这里configure一定要带–enable-shared参数,不然,不会生成共享库

5.安装GD

tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure –with-png –with-freetype –with-jpeg
make install

好了下面是我们的重头戏,我将分别通过静态和动态DSO编译apache+php

至于什么是静态,什么是DSO动态我这里就不多讲了,本人个人倾向大家用DSO动态编译。

首先是apache1.3.29+php4.3.4的静态编译

apache第一次编译,并不要安装,因为php的编译需要apache至少已经编译过一次
tar zvxf