Unix 系统锟铰碉拷 Apache 1.3.x

锟斤拷锟节帮拷锟斤拷锟斤拷 Unix 平台锟斤拷 Apache 锟铰帮拷装 PHP 锟斤拷说锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭筹拷锟揭诧拷锟� Apache 2 锟侥帮拷装锟斤拷说锟斤拷锟斤拷

锟斤拷锟皆达拷锟斤拷锟斤拷锟斤拷锟斤拷选锟斤拷锟叫憋拷锟皆硷拷位锟斤拷锟街诧拷锟接︼拷锟斤拷值锟斤拷囟锟斤拷锟秸癸拷锟斤拷锟窖★拷锟斤拷锟窖★拷锟斤拷锟斤拷锟斤拷锟节帮拷装锟斤拷锟斤拷锟� 10 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷拥锟� configure 锟斤拷锟斤拷锟叫★拷锟芥本锟斤拷锟斤拷锟斤拷锟斤被省锟斤拷锟斤拷锟皆憋拷证锟斤拷说锟斤拷锟斤拷锟斤拷确锟皆★拷锟斤拷要锟斤拷锟斤拷锟斤拷锟�"xxx"锟芥换为锟皆硷拷使锟矫碉拷锟侥硷拷锟斤拷锟斤拷确值锟斤拷

Example #1 PHP 锟斤拷 Apache 锟斤拷锟斤拷模锟斤拷姹撅拷锟阶八碉拷锟�

1.  gunzip apache_xxx.tar.gz
2.  tar -xvf apache_xxx.tar
3.  gunzip php-xxx.tar.gz
4.  tar -xvf php-xxx.tar
5.  cd apache_xxx
6.  ./configure --prefix=/www --enable-module=so
7.  make
8.  make install
9.  cd ../php-xxx

10. 锟斤拷锟节o拷锟斤拷锟斤拷 PHP锟斤拷锟斤拷锟角讹拷锟斤拷 PHP 锟侥诧拷同选锟斤拷锟绞憋拷锟斤拷锟斤拷锟揭拷锟斤拷锟斤拷锟叫╋拷锟秸癸拷狻J癸拷锟�
      ./configure --help
    锟斤拷锟叫筹拷锟斤拷锟矫碉拷选锟筋。锟斤拷锟斤拷锟斤拷锟绞撅拷锟斤拷锟街伙拷羌虻サ锟斤拷锟斤拷锟� Apache 1 锟斤拷 MySQL 支锟街★拷
    锟矫伙拷锟斤拷 apxs 锟斤拷路锟斤拷锟斤拷锟杰和达拷示锟斤拷锟叫的诧拷同锟斤拷

      ./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

    锟斤拷锟斤拷诎锟阶爸拷锟斤拷锟斤拷锟睫革拷锟斤拷锟斤拷选锟筋,锟斤拷么只锟斤拷锟截革拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟�
    Apache 锟酵匡拷锟斤拷使锟斤拷模锟斤拷锟斤拷效锟斤拷锟斤拷锟斤拷要锟斤拷锟铰憋拷锟斤拷 Apache锟斤拷
    
    注锟斤拷锟斤拷锟斤拷乇锟街革拷锟斤拷锟�"make install"锟斤拷锟角会安装 PEAR锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷 phpize锟斤拷
    PHP CLI 锟皆硷拷锟斤拷锟斤拷锟斤拷

13. 锟斤拷锟斤拷 php.ini 锟侥硷拷锟斤拷

      cp php.ini-dist /usr/local/lib/php.ini

    锟斤拷锟皆编辑 php.ini 锟斤拷锟斤拷锟斤拷 PHP 选锟筋。锟斤拷锟斤拷锟斤拷 php.ini 锟斤拷锟斤拷锟斤拷锟斤拷目录锟斤拷锟节碉拷
    10 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷选锟筋:

      --with-config-file-path=/path

    锟斤拷锟窖★拷锟斤拷锟�  php.ini-production锟斤拷确锟斤拷锟侥讹拷一锟斤拷锟斤拷锟叫的憋拷锟剿碉拷锟斤拷锟斤拷锟轿拷锟叫╋拷锟�
    影锟届到 PHP 锟斤拷锟斤拷为锟斤拷

14. 锟洁辑 httpd.conf 锟斤拷锟斤拷锟斤拷 PHP 模锟介。锟斤拷 LoadModule 锟斤拷锟斤拷冶叩锟铰凤拷锟斤拷锟斤拷锟街革拷锟较低筹拷锟�
    PHP 模锟斤拷锟斤拷锟节碉拷路锟斤拷锟斤拷锟斤拷锟斤拷锟� make install 锟斤拷锟斤拷锟斤拷锟斤拷丫锟斤拷锟斤拷锟剿o拷锟斤拷锟斤拷锟角硷拷锟饺凤拷锟揭伙拷隆锟�

      LoadModule php5_module        libexec/libphp5.so

15. 锟斤拷 httpd.conf 锟叫硷拷锟斤拷 AddModule 锟斤拷锟街o拷锟斤拷 ClearModuleList 锟斤拷锟斤拷锟侥筹拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷洌�

      AddModule mod_php5.c

16. 锟斤拷锟斤拷 Apache 锟斤拷锟斤拷些锟斤拷缀锟斤拷为 PHP 锟斤拷锟斤拷锟斤拷锟斤拷锟界,锟斤拷 Apache 锟斤拷 .php 锟斤拷缀锟斤拷锟侥硷拷锟斤拷锟斤拷为
    PHP锟斤拷锟斤拷锟皆斤拷锟轿何猴拷缀锟斤拷锟侥硷拷锟斤拷锟斤拷为 PHP锟斤拷只要锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷屑锟斤拷氩拷每崭锟街匡拷锟斤拷锟斤拷锟斤拷锟斤拷
    锟斤拷锟揭伙拷锟� .phtml 锟斤拷示锟斤拷锟斤拷

      AddType application/x-httpd-php .php .phtml

    为锟剿斤拷 .phps 锟斤拷为 PHP 锟斤拷源锟侥硷拷锟斤拷锟斤拷锟斤法锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷锟斤拷锟皆硷拷锟较o拷

      AddType application/x-httpd-php-source .phps

17. 锟斤拷通锟斤拷锟侥癸拷锟斤拷锟斤拷锟斤拷 Apache锟斤拷锟斤拷锟斤拷锟斤拷全停止 Apache 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 HUP 锟斤拷锟斤拷
    USR1 锟脚猴拷使 Apache 锟斤拷锟铰硷拷锟截o拷锟斤拷

也锟斤拷锟皆斤拷 PHP 锟斤拷为锟斤拷态锟斤拷锟斤拷锟斤拷锟斤拷装锟斤拷

Example #2 PHP 锟斤拷 Apache 锟斤拷态模锟斤拷姹撅拷锟阶八碉拷锟�

1.  gunzip -c apache_1.3.x.tar.gz | tar xf -
2.  cd apache_1.3.x
3.  ./configure
4.  cd ..

5.  gunzip -c php-5.x.y.tar.gz | tar xf -
6.  cd php-5.x.y
7.  ./configure --with-mysql --with-apache=../apache_1.3.x
8.  make
9.  make install

10. cd ../apache_1.3.x

11. ./configure --prefix=/www --activate-module=src/modules/php5/libphp5.a
    锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷确锟侥o拷锟角的o拷锟斤拷锟斤拷知锟斤拷 libphp5.a 锟叫诧拷锟斤拷锟节o拷锟斤拷锟斤拷锟斤拷时锟斤拷
      锟斤拷锟斤拷锟斤拷之锟襟被达拷锟斤拷锟斤拷锟斤拷

12. make
    锟斤拷锟斤拷锟斤拷应锟斤拷锟斤拷一锟斤拷 httpd 锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟皆斤拷锟斤拷锟斤拷锟狡碉拷 Apache bin 目录锟斤拷锟斤拷锟斤拷锟斤拷锟�
      锟斤拷一锟轿帮拷装锟斤拷锟斤拷要"make install"锟斤拷)

13. cd ../php-5.x.y
14. cp php.ini-development /usr/local/lib/php.ini

15. 锟斤拷锟皆编辑 /usr/local/lib/php.ini 锟侥硷拷锟斤拷锟斤拷锟斤拷 PHP 选锟筋。锟洁辑 httpd.conf 锟斤拷
    srm.conf 锟侥硷拷锟斤拷锟斤拷樱锟�
    AddType application/x-httpd-php .php

锟斤拷锟斤拷 Unix 系统锟斤拷 Apache 锟斤拷装锟斤拷锟斤拷锟侥诧拷同锟斤拷锟叫很多方锟斤拷停止锟斤拷锟斤拷锟斤拷锟斤拷 Apache锟斤拷锟斤拷锟斤拷锟斤拷一些锟斤拷同锟斤拷 Apache锟斤拷UNIX 锟斤拷锟斤拷锟斤拷锟斤拷 Apache 锟侥碉拷锟斤拷锟斤拷锟筋。锟斤拷要锟斤拷 /path/to/锟芥换锟斤拷锟皆硷拷系统锟较碉拷确锟斤拷路锟斤拷锟斤拷

Example #3 锟斤拷锟斤拷锟斤拷 Apache 锟斤拷示锟斤拷锟斤拷锟斤拷

1. 锟斤拷一些 Linux 锟斤拷 SysV 锟侥憋拷锟斤拷锟铰o拷
/etc/rc.d/init.d/httpd restart

2. 使锟斤拷 apachectl 锟脚憋拷锟斤拷
/path/to/apachectl stop
/path/to/apachectl start

3. httpdctl 锟斤拷 httpsdctl锟斤拷使锟斤拷锟斤拷 OpenSSL锟斤拷锟斤拷锟斤拷锟斤拷 apachectl锟斤拷
/path/to/httpsdctl stop
/path/to/httpsdctl start

4. 使锟斤拷锟斤拷 mod_ssl锟斤拷锟斤拷锟斤拷锟斤拷 SSL 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷要锟街癸拷锟斤拷锟斤拷锟斤拷锟斤拷
/path/to/apachectl stop
/path/to/apachectl startssl

apachectl 锟斤拷 http(s)dctl 锟斤拷锟斤拷锟斤拷锟节碉拷路锟斤拷锟节诧拷同系统锟斤拷通锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟较低筹拷锟斤拷锟� locate 锟斤拷锟斤拷 whereis 锟斤拷锟斤拷 which 锟斤拷锟筋,锟斤拷么锟斤拷锟皆帮拷锟斤拷锟揭碉拷锟斤拷些锟斤拷锟狡筹拷锟斤拷

锟斤拷锟斤拷 PHP 锟斤拷 Apache 锟侥诧拷同锟斤拷锟接伙拷锟叫o拷

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

锟斤拷锟斤拷锟矫斤拷锟斤拷锟斤拷锟斤拷 Apache 锟斤拷 httpd.conf 锟侥硷拷锟斤拷锟斤拷 LoadModule 锟斤拷锟截碉拷 libphp5.so 锟斤拷锟斤拷狻o拷锟� PostgreSQL 支锟街斤拷嵌锟诫到锟剿癸拷锟斤拷锟斤拷小锟�

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

锟斤拷锟斤拷锟矫斤拷锟斤拷锟斤拷 Apache 锟斤拷 libphp5.so 锟斤拷锟斤拷猓拷锟斤拷一锟斤拷锟斤拷锟� pgsql.so 锟斤拷锟斤拷猓拷锟斤拷锟斤拷锟� php.ini 锟侥硷拷锟斤拷锟斤拷 extension 指锟斤拷锟斤拷兀锟斤拷锟斤拷锟斤拷锟� PHP 锟脚憋拷锟斤拷锟斤拷 dl() 锟斤拷锟斤拷锟斤拷确锟截硷拷锟截★拷

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

锟斤拷锟斤拷锟矫斤拷锟斤拷锟斤拷一锟斤拷 libmodphp5.a 锟解,一锟斤拷 mod_php5.c 锟斤拷一些锟斤拷氐锟斤拷募锟斤拷锟斤拷铱锟斤拷锟斤拷锟� Apache 源锟斤拷锟斤拷目录锟叫碉拷 src/modules/php5目录锟铰★拷然锟斤拷锟斤拷 --activate-module=src/modules/php5/libphp5.a 锟斤拷锟斤拷 Apache锟斤拷Apache 锟斤拷锟斤拷系统锟斤拷锟斤拷锟斤拷 libphp5.a 锟斤拷锟揭斤拷锟戒静态锟斤拷锟斤拷锟接碉拷 httpd 锟斤拷锟斤拷锟叫★拷PostgreSQL 支锟斤拷也直锟接帮拷锟斤拷锟斤拷锟斤拷锟� httpd 锟斤拷锟斤拷锟斤拷锟剿o拷锟斤拷锟斤拷锟斤拷战锟斤拷锟角碉拷一锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 Apache 锟斤拷 PHP 支锟街碉拷 httpd 锟斤拷执锟斤拷锟侥硷拷锟斤拷

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

锟斤拷锟斤拷锟矫猴拷锟斤拷锟斤拷一锟斤拷——锟斤拷锟斤拷没锟斤拷锟斤拷锟斤拷锟斤拷 httpd 锟斤拷执锟斤拷锟侥硷拷锟叫帮拷锟斤拷 PostgreSQL 锟斤拷支锟斤拷锟皆硷拷锟斤拷锟斤拷锟斤拷一锟斤拷 pgsql.so 锟斤拷锟斤拷锟斤拷锟斤拷狻o拷霉锟斤拷锟斤拷锟斤拷锟斤拷锟� php.ini 锟侥硷拷锟叫伙拷锟斤拷锟斤拷 dl() 锟斤拷锟斤拷锟斤拷锟截★拷

锟斤拷选锟斤拷同锟侥凤拷锟斤拷锟斤拷锟斤拷 PHP 时锟斤拷锟斤拷要锟斤拷锟斤拷每锟街凤拷锟斤拷锟斤拷锟斤拷锟狡猴拷缺锟姐。锟矫癸拷锟斤拷锟斤拷锟绞斤拷锟斤拷锟� PHP 锟斤拷味锟脚匡拷锟皆碉拷锟斤拷锟斤拷锟斤拷 Apache锟斤拷锟斤拷锟揭诧拷锟斤拷锟斤拷锟斤拷踊锟斤拷薷锟斤拷锟� PHP 锟斤拷时锟斤拷锟斤拷锟铰憋拷锟斤拷锟斤拷锟叫筹拷锟斤拷锟斤拷锟斤拷锟矫凤拷锟斤拷锟斤拷锟斤拷 PHP锟斤拷锟斤拷态锟斤拷式锟斤拷锟斤拷味锟斤拷 PHP 锟斤拷锟皆硷拷锟截猴拷锟斤拷锟叫得革拷锟届。锟斤拷锟斤拷锟斤拷息锟斤拷 Apache 锟斤拷 » DSO 支锟斤拷页锟斤拷锟斤拷

Note:

Apache 默锟较碉拷 httpd.conf 锟侥硷拷锟斤拷目前锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰碉拷锟斤拷锟捷o拷

User nobody
Group "#-1"
锟斤拷锟角帮拷锟斤拷锟睫改筹拷"Group nogroup"锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟狡的o拷"Group daemon"也锟斤拷通锟矫o拷锟斤拷PHP 锟斤拷锟斤拷锟杰达拷锟侥硷拷锟斤拷

Note:

确锟斤拷锟斤拷使锟斤拷 --with-apxs=/path/to/apxs 时指锟斤拷 Apache 锟斤拷装锟斤拷锟侥柯硷拷械锟� apxs锟斤拷锟斤拷锟皆诧拷锟斤拷锟斤拷 Apache 源锟斤拷锟斤拷锟叫碉拷 apxs 锟斤拷要锟矫帮拷装锟斤拷锟� apxs锟斤拷