您的位置:首页 > 运维架构 > Apache

在UNIX下详细的安装 PHP 的 apache 模块方式

2008-05-01 04:20 701 查看

Details of installing PHP with apache on UNIX.
You can select arguments to add to the configure on line 8 below from the Complete list of configure options.

Example 2-4. Installation Instructions (apache Module Version)

1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip PHP-x.x.x.tar.gz
4. tar xvf PHP-x.x.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../PHP-x.x.x
8. ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
9. make
10. make install
11. cd ../apache_1.3.x
12. for PHP 3: ./configure --activate-module=src/modules/PHP3/libPHP3.a
for PHP 4: ./configure --activate-module=src/modules/PHP4/libPHP4.a
13. make
14. make install

Instead of this step you may prefer to simply copy the httpd binary
overtop of your existing binary. Make sure you shut down your
server first though.

15. cd ../PHP-x.x.x
16. for PHP 3: cp PHP3.ini-dist /usr/local/lib/PHP3.ini
for PHP 4: cp PHP.ini-dist /usr/local/lib/PHP.ini

You can edit your .ini file to set PHP options. If
you prefer this file in another location, use
--with-config-file-path=/path in step 8.

17. Edit your httpd.conf or srm.conf file and add:

For PHP 3: AddType application/x-httpd-PHP3 .PHP3
For PHP 4: AddType application/x-httpd-PHP .PHP

You can choose any extension you wish here. .PHP is simply the one
we suggest. You can even include .html .

18. Use your normal procedure for starting the apache server. (You must
stop and restart the server, not just cause the server to reload by
use a HUP or USR1 signal.)

Different examples of compiling PHP for apache are as follows:

./configure --with-apxs --with-pgsql

This will create a libPHP4.so shared library that is loaded into apache using a LoadModule line in apache's httpd.conf file. The PostgreSQL support is embedded into this libPHP4.so library.

./configure --with-apxs --with-pgsql=shared

This will again create a libPHP4.so shared library for apache, but it will also create a pgsql.so shared library that is loaded into PHP either by using the extension directive in PHP.ini file or by loading it explicitly in a script using the dl() function.

./configure --with-apache=/path/to/apache_source --with-pgsql

This will create a libmodPHP4.a library, a mod_PHP4.c and some accompanying files and copy this into the src/modules/PHP4 directory in the apache source tree. Then you compile apache using --activate-module=src/modules/PHP4/libPHP4.a and the apache build system will create libPHP4.a and link it statically into the httpd binary. The PostgreSQL support is included directly into this httpd binary, so the final result here is a single httpd binary that includes all of apache and all of PHP.

./configure --with-apache=/path/to/apache_source --with-pgsql=shared

Same as before, except instead of including PostgreSQL support directly into the final httpd you will get a pgsql.so shared library that you can load into PHP from either the PHP.ini file or directly using dl().

When choosing to build PHP in different ways, you should consider the advantages and drawbacks of each method. Building as a shared object will mean that you can compile apache separately, and don't have to recompile everything as you add to, or change, PHP. Building PHP into apache (static method) means that PHP will load and run faster. For more information, see the apache webpage on DSO support.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: