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

PHP
让我们来编写一些PHP实用的脚本
七种缓存使用武器 为网站应用和访问加速
动态网页PHP中引用&的使用注意事项
在PHP中全面阻止SQL注入式攻击
PHP自带可以代替echo调试的unit函数
小结:PHP动态网页程序优化及高效提速问题
php对特殊语句查询结果进行数组排序
实例:用PHP技术解决网站URL格式过长的问题
小结:PHP动态网页程序两个有用的小技巧
动态网页中直接不让访问PHP程序文件
网页实例:详细介绍用PHP来编写网页记数器
菜鸟学习:动态网页PHP基础学习笔记
利用Apache实现禁止图片盗链
PHP编程中常用的三则技巧
PHP制作的网站意见在线反馈表
大型Web需求解决方案 PHP定位突出
PHP实例:精确到每一秒钟的在线人数显示代码
实用:动态网页制作技术PHP的十个应用技巧
常见php页面漏洞分析及相关问题解决
PHP和MYSQL制作动态网站开发经验之谈

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


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