Apache 2.0.36 & PHP 4.3 的集成

由 bennyhuang 在 12-31-2002 15:44 发表:

**Apache 2.0.36 & PHP 4.3 的集成 **

Apache 2.0.36 & PHP 4.3 的集成 (DSO动态共享对象方式)

一、编译 Apache 的命令是:

#./configure --prefix=/usr/local/apache2 --enable-auth-anon --enable-auth-dbm --enable-ext-filter --enable-http --enable-dav --enable-rewrite --enable-so

#make

#make install

二、下载 php4.3.tar.gz 用新版本编译。

#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql

#make

#make install

(注意mysql的目录位置,如果采用RPM包安装,则路径是/usr,如果采用的是编译安装的则根据你在./configure --prefix中的设置指定。

三、修改 /usr/local/apache2/conf/httpd.conf

添加内容:

LoadModule php4_mod modules/libphp4.so

AddOutputFilter PHP .php

AddInputFilter PHP .php

修改字符集设置

AddDefaultCharset GB2312

完成。


由 江湖乐色 在 01-01-2003 03:58 发表:

我下的是2.0.43的,安装应该怎么写?

#./configure --prefix=/usr/local/apache2 --enable-auth-anon --enable-auth-dbm --enable-ext-filter --enable-http --enable-dav --enable-rewrite --enable-so

我用这段最后报错:

no acceptable C compiler found in $PATH

(是不是没有指定C编译器的路径?,在哪修改?)

configure failed for srclib/apr;

该怎么解决?谢谢


由 lanbor 在 01-01-2003 16:50 发表:

DSO动态共享对象方式 -- 是什么意思?

DSO动态共享对象方式 -- 是什么意思?


由 bennyhuang 在 01-01-2003 22:48 发表:

楼上的C编译器不对,请安装GCC即可。

楼上的C编译器不对,请安装GCC即可。


由 bennyhuang 在 01-01-2003 23:02 发表:

Apache的模块静态编译与DSO

(一)以静态方式安装Apache ,则每次 PHP 有升级后,就必须重新编译安装 Apache。Apache模块静态编译安装过程的特点是在编译指令中加入模块激活指令--activate-module=src/modules/php4/libphp4.a,而libphp4.a是在PHP编译过程中生成的。

例如:

./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a

(二)DSO 是动态共享对象,详细的文档可以参考 Apache 的在线手册。步骤如下:

1、编译Apache

#./configure --prefix=/usr/local/apache2 --enable-auth-anon --enable-auth-dbm --enable-ext-filter --enable-http --enable-dav --enable-rewrite --enable-so

关键的指令就是 --enable-so (so 意思是 Share Object)

2、编译PHP 时,使用 --with-apxs=/usr/local/apache/apxs 的指令,apxs(Apache Extension Tool) 所在的路径需要根据Apache的安装路径来修改。

3、修改httpd.conf,加入LoadModule指令。

安装成功,以后 PHP 有新的补丁/版本出来,就不需要重新编译 Apache 了。

(Manual 原文)

The Apache HTTP Server is a modular program where the administrator can choose the functionality to include in the server by selecting a set of modules. The modules can be statically compiled into the httpd binary when the server is built.

Alternatively, modules can be compiled as Dynamic Shared Objects (DSOs) that exist separately from the main httpd binary file. DSO modules may be compiled at the time the server is built, or they may be compiled and added at a later time using the Apache Extension Tool (apxs).


由 bennyhuang 在 01-02-2003 00:10 发表:

本版的集成方案可在Apache 2.0.43与PHP 4.3上顺利实现(RedHat80)

本版的集成方案可在Apache 2.0.43与PHP 4.3上顺利实现(RedHat80)


由 Debentoo Gao 在 01-07-2003 17:44 发表:

在LFS下执行httpd出现如下错误,请指教

ylfs:/usr/src/php-4.3.0# /usr/local/apache2/bin/httpd

Syntax error on line 1054 of /usr/local/apache2/conf/httpd.conf:

Can't locate API module structure `php4_mod' in file /usr/local/apache2/modules/libphp4.so: /usr/local/apache2/lib/libapr-0.so.0: undefined symbol: php4_mod


http://www.finalbaby.pp.ru

我开始不去怀疑向往平凡人生的意义。在皎洁的“水蓝色月光下”,我找到了自己最初的美丽心灵。


由 Debentoo Gao 在 01-07-2003 17:46 发表:

**请问LoadModule php4_mod modules/libphp4.so

AddOutputFilter PHP .php
AddInputFilter PHP **

应该加在哪里?


http://www.finalbaby.pp.ru

我开始不去怀疑向往平凡人生的意义。在皎洁的“水蓝色月光下”,我找到了自己最初的美丽心灵。


由 bennyhuang 在 01-07-2003 18:34 发表:

添加CONF指令

添加指令方法

使用VI打开文件,查找LoadModule,你会找到一带注释的示范,在下面即可添加一行新的内容。

同理,添加AddOutputfilter等。


由 Debentoo Gao 在 01-07-2003 20:00 发表:

还是出现这样的错误

mylfs:/usr/src/php-4.3.0

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus