php安装配置(官方文档)

Unix 系统下的安装

Unix 系统下的 Apache 1.3.x

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. 现在,配置 PHP。这是定制 PHP 的不同选项的时候,例如要加载哪些扩展库。使用

# ./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 工具例如 phpizePHP 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-recommended,确保阅读一下其中的变更说明,因为这些会

   影响到 PHP 的行为。

14. 编辑 httpd.conf 来加载 PHP 模块。在 LoadModule 语句右边的路径必须指向系统中

   PHP 模块所在的路径。上面的 make install 步骤可能已经添加了,但还是检查确认一下。

   对 PHP 4

     LoadModule php4_module        libexec/libphp4.so

   对 PHP 5

     LoadModule php5_module        libexec/libphp5.so

15. httpd.conf 中加入 AddModule 部分,在 ClearModuleList 下面的某处,加上这一句:

   对 PHP 4

     AddModule mod_php4.c

   对 PHP 5

     AddModule mod_php5.c

16. 告诉 Apache 将哪些后缀作为 PHP 解析。例如,让 Apache .php 后缀的文件解析为

   PHP。可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。这里以

   添加一个 .phtml 来示例。

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

   为了将 .phps 作为 PHP 的源文件进行语法高亮显示,还可以加上:

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

17. 用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者

   USR1 信号使 Apache 重新加载)。


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

   (上面一行是正确的!是的,我们知道 libphp5.a 尚不存在,还不到时候,

     它会在之后被创建。)


12. make

   (现在应该有一个 httpd 二进制文件,可以将它复制到 Apache bin 目录。如果这是

     第一次安装,还要“make install”。)


13. cd ../php-5.x.y

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


15. 可以编辑 /usr/local/lib/php.ini 文件以设置 PHP 选项。编辑 httpd.conf

   srm.conf 文件,添加:

   AddType application/x-httpd-php .php


Example #3 重启动 Apache 的示例命令

1. 在一些 Linux SysV 的变种下:

/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


编译 PHP Apache 的不同例子

编译 PHP Apache 的不同例子还有:


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

此配置将生成在 Apache httpd.conf 文件中用 LoadModule 加载的 libphp5.so共享库(PHP 4 libphp4.so)。而 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编译 ApacheApache 编译系统会生成 libphp5.a并且将其静态地连接到 httpd程序中(在 PHP 4 中把 php5替换成 php4)。PostgreSQL 支持也直接包括在这个 httpd程序中了,因此最终结果是单一的一个包括了所有 Apache PHP 支持的 httpd可执行文件。


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

此配置和上面一样——除了没有在最后的 httpd可执行文件中包括 PostgreSQL 的支持以及生成了一个 pgsql.so共享库以外。该共享库可以在 php.ini 文件中或者用 dl()函数加载。



Unix 系统下的 Apache 2.x

概述

# cd httpd-2_x_NN

# ./configure --enable-so

# make

# make install


cd ../php-NN

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

make

make install


编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 表达式右边的路径必须指向 系统中的 PHP。以上的 make install 命令可能已经完成了这些,但务必要检查。

LoadModule php5_module modules/libphp5.so


告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php 解析成 PHP。为了避免潜在的危险,例如上传或者创建类似exploit.php.jpg的文件并被当做 PHP 执行,我们不再使用 Apache AddType 指令来设置。参考下面的例子,你可以简单的将需要的扩展名解释为 PHP。我们演示为增加.php

<FilesMatch \.php$>

   SetHandler application/x-httpd-php

</FilesMatch>


或者,你也想将 .php, .php2, .php3, .php4, .php5, .php6, 以及 .phtml 文件都当做 PHP 来运行,我们无需额外的设置,仅需按照下面这样来:

<FilesMatch "\.ph(p[2-6]?|tml)$">

   SetHandler application/x-httpd-php

</FilesMatch>


然后,可以将 .phps 文件由 PHP 源码过滤器处理,使得其在显示时可以高亮源码,设置如下:

<FilesMatch "\.phps$">

   SetHandler application/x-httpd-php-source

</FilesMatch>



软件升级到apache 2.2:


AddType application/x-httpd-php .php5

AddType application/x-httpd-php .php42

AddType application/x-httpd-php .php4

AddType application/x-httpd-php .php3

AddType application/x-httpd-php .php

AddType application/x-httpd-php .phtm

AddType application/x-httpd-php .phtml

AddType application/x-httpd-php .asp


上边配置就不起作用了,需要修改成:


<FilesMatch "\.(php*|phtm|phtml|asp|aspx)$">

SetHandler application/x-httpd-php

</FilesMatch>


安装过程分享

installed Apache 2.2.11 and PHP 5.2.8


用这个方法确定需要的模块

模块列表

1$ php -m | grep -v -e Modules] -e ^$ > php-default-modules

$ php -m


创建配置脚本

2$ for i in $(cat php-default-modules); do echo -n "--with-$i ">> phpconfigure.sh ;done

比如,报错显示位置选项,就使用“./configure --help”参考修改。生成的脚本,一直调试到正确运行;因为这个“for”循环,使用了的修改有可能应该是“--enable-”开头的;还可以添加额外的选项;


以下的选项可以供参考:


php-5.2.9]$ ./configure --with-mcrypt --with-mhash --with-bz2 --enable-calendar --with-curl --enable-dbase --enable-exif --enable-ftp --with-gd --with-gettext --with-gmp --with-iconv --enable-mbstring --with-mime_magic --with-mysql --with-mysqli --with-openssl --enable-pcntl --with-pdo_mysql --with-pdo_sqlite --with-pspell --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-zlib --enable-safe-mode



php-5.2.9]$ sudo yum install mcrypt libmcrypt mhash libmhash libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel libpng-devel gmp-devel mysql-devel aspell-devel zlib zlib-devel



配置脚本(configure)报错

3$ make

$ make test

自信自己能解决,而且能解决的很漂亮。所以我没有整理。(http://php.chinaunix.net/manual/zh/install.unix.apache2.php

编译后最好做个测试


php安装配置(官方文档),古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。