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

PHP
坏狼php学习 计数器实例代码
PHP学习一(基础)
PHP学习 运算符与运算符优先级
PHP学习 mysql
用PHP伪造referer突破网盘禁止外连的代码
php utf-8转unicode的函数
php代码出现错误分析详解
PHP伪静态写法附代码
PHP伪静态页面函数附使用方法
php下汉字转化为拼音的代码
js下函数般调用正则的方法附代码
php 前一天或后一天的日期
php 在线打包_支持子目录
php GD绘制24小时柱状图
php下检测字符串是否是utf8编码的代码
php5中date()得出的时间为什么不是当前时间的解决方法
[原创]效率较高的php下读取文本文件的代码
php文本操作方法集合比较
PHP远程连接MYSQL数据库非常慢的解决方法
PHP写入WRITE编码为UTF8的文件的实现代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 252 ::
收藏到网摘: 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