中文
第3章 安装
本章将引导您如何安装和设置PHP3。并介绍必要的知识和软件。
基本的UNIX技巧(学会如何操作和“制作”一个C编译器)
一个标准的ANSI C的编译器
一个WEB服务器(显然需要)
通过UNIX源码编译安装
下载源文件
最新的源代码可以在以下网址找到:http://www.php.net
快速安装说明书(Apache Module 版本)
1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-3.0.x.tar.gz
4. tar xvf php-3.0.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../php-3.0.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. ./configure --prefix=/www --activate-module=src/modules/php3/libphp3.a
13. make
14. make install
Instead of this step you may prefer to simply copy the httpd binaryovertop of your existing binary. Make sure you shut down yourserver first though.
(也可以使用直接拷贝httpd的二进制文件覆盖已经存在的二进制文件的方法代替上面的步骤,但是,您必须首先关闭您的服务器。)
15. cd ../php-3.0.x
16. cp php3.ini-dist /usr/local/lib/php3.ini
You can edit /usr/local/lib/php3.ini file to set PHP options. If you prefer this file in another location, use --with-config-file=/path in step 8.
(您可以直接编辑/usr/local/lib/php3.ini文件来设置PHP选项,如果您将此文件存放在另一个位置,那么请在步骤8中使用with-config-file=/path)
17. Edit your httpd.conf or srm.conf file and add:
AddType application/x-httpd-php3 .php3 You can choose any extension you wish here. .php3 is simply the one we suggest.
(您可以选择任何您希望的扩展,我们认为PHP3是一个十分简单的东西。)
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.)
(您必须停止和重新启动服务器,而不能仅仅使用服务器的RELOAD(重新载入)功能。)
这里有两种方法来设置PHP3
1.使用跟随PHP3而来的“setup”脚本语言。该脚本语言会询问用户一系列的问题(大多数类似于PHP/FI 2.0的“install”脚本语言)在最后运行“configure”。要运行这个脚本,请输入:“./setup”。
这个脚本还将建立一个叫做“do-conf”的文件,这个文件将要传到设置里面去的数据。您可以编辑这个文件以改变一些设置(仅仅是一些)而无须重新运行setup程序。然后,输入:“./do-conf”使用这些选项来设置。
2.手动的运行设置。查看您可以使用的设置选项,请输入:“./configure --help”。
不同设置的详细资料将在下面列出。
Apache 模式
按照Apache模式来建立PHP3,对问题“Build as an Apache module?”(按照Apache 模式建立?)应该回答“yes”(是)(设置—with-apache=DIR)然后详细的说明Apache分配的基本目录。如果您已经在“/usr/local/www/apache_1.2.4”中解压缩了了您的Apache配给包,那么这就是您的Apache分配的基本目录。缺省的目录为“/usr/local/etc/httpd”。
fhttpd 模式
按照fhttpd 模式来建立PHP3,对问题“Build as an fhttpd module?”回答“yes”(设置—with-fhttpd=DIR)同时指定fhttpd 模式的源数据目录。缺省的目录是“/usr/local/src/fhttpd”如果您正在运行fhttpd,按照该模式建立PHP将提供更好的性能,更强的控制和远程执行能力。
CGI 版本
缺省的设置是按照一个CGI程序来建立PHP3。如果您正在运行一个WEB服务器端的PHP3有这种模式的支持,那么一般的您出于性能的原因将会选择这种解决方案。然而,CGI版本的PHP3允许Apache用户在不同用户身份下的运行不同的使用PHP3的页面。请仔细的阅读有关安全的章节,如果您将以CGI形式来运行PHP。
数据库支持选项
PHP对许多数据库有内置的支持(也有ODBC)
Adabas D
--with-adabas=DIR
编译的时候加入对Adabas D 数据库的支持。这个参数是Adabas D的安装目录,缺省是/usr/local/adabasd。
DBase
--with-dbase
激活内置的Dbase数据库的支持,不需要外部的库。
FilePro
激活内置的只读的filePro的支持,不需要外部的库。
mSQL
--with-msql=DIR
为了激活mSQL的支持,这个选项的参数是mSQL的安装目录,并且缺省是/usr/local/Hughes。这是mSQL 2.0安装是的默认目录。Configure能自动侦测出系统所安装的mSQL版本,PHP3支持1.0和2.0两个版本。如果你编译的是PHP3和mSQL1.0版本,你只能存取1.0中的数据库和代替调度算法。
MySQL
--with-mysql=DIR
为了激活MySQL的支持,这个选项的参数是MySQL的安装目录,缺省是/usr/local/。这是MySQL安装是的缺省目录。
iODBC
--with-iodbc=DIR
包括iODBC的支持。这个特性一开始是为iODBC驱动程序管理器设计开发的,iODBC是一个免费的重新发布的ODBC驱动程序管理器,能够在很多中UNIX系统下工作。这个参数是iODBC安装的目录,默认是 /usr/local。
OpenLink ODBC
--with-openlink=DIR
包括OpenLink ODBC支持。这个选项的参数是OpenLink ODBC的安装目录,默认是 /usr/local/openlink。
Oracle
--with-oracle=DIR
包括Oracle支持。经过测试,至少在Oracle7.0和7.3下能正常工作。这个参数是ORACLE_HOME目录,如果你的Oracle环境已经被配制好了的话,你就不用指定这个参数。
PostgreSQL
--with-pgsql=DIR
包括对PostgreSQL的支持。这个参数是PostgreSQL的安装时的基准目录,默认是 /usr/local/pgsql。
其他的常见数据库的支持也同上面所列的大致相同,需要时请参阅您所选择的数据库的使用说明。
其他配制选项
--enable-sysvsem
包括对Sys V 信号(大部分Unix系统都支持)。请参看信号和共享内存文档来获取更多信息。
--enable-sysvshm
包括对Sys V 共享内存的支持(大部分的Unix系统都支持)。请参阅信号和共享内存文档来获取更多信息。
--with-xml
包括对一种非正式版本的XML语法的支持,使用的是James Clark’s expat library。参阅XML 函数指南获取细节。
--enable-maintainer-mode
打开额外的相关和编译警告信息,这些信息经常被PHP3的开发人员所使用。
--with-system-regex
使用系统正则表达式的库胜于使用捆绑的那一个。如果你将PHP3编译为服务器组件,编译时和连接服务器时必须使用同一个库。如果系统中有你所需要的东西,就打开这个选项,如果可能,推荐你使用同PHP3捆绑在一起的库。
--with-config-file-path
这个路径是PHP3启动时用来寻找php3.ini文件位置的。
--with-exec-dir
仅仅允许在处于安全模式下的目录里执行,默认是 /usr/local/bin/。这个选项只能被设置为默认,他可以后来通过修改配制文件里的safe_mode_exec_dir来实现。
--disable-debug
在库中或执行中不包括调试信息。调试信息可以帮助你迅速查明问题所在,因此,只要PHP还处在alpha或beta的测试阶段,最好保留调试信息。
--enable-safe-mode
缺省是打开”safe_mode”(安全模式)选项,这个选项强加于PHP功能一些限制,如你只能在打开你在WEB根目录下面的文件,请详细阅读安全那一章以获得详细信息。CGI用户应该总保持这个选项是打开的。这个选项只能被设置为缺省,但是你可以后来通过修改配置文件(php3.ini)来打开或关闭这个选项。
--enable-track-vars
使用PHP3来保存从HTTP_GET_VARS, HTTP_POST_VARS 或 HTTP_COOKIE_VARS. 来的请求GWT/POST/cookie的轨迹。这个选项被设为缺省值,用户也可以在以后在 configuration file中设置track_vars的值来改变它的属性(enabled或者disabled)。
--enable-magic-quotes
设置使魔术引用成为缺省值。这个选项仅仅设置这种缺省情况,它可以使用在configuration file中指定magic_quotes_runtime的方法设置为可用或不可用。请参考有关 magic_quotes_gpc 和magic_quotes_sybase的相应内容。
--enable-debugger
激活内在的PHP3 debugger支持。这个特性还仅仅处于实验的阶段。请参考configuration file.中Debugger Configuration 的有关内容。
--enable-discard-path
如果该属性被置为可用,PHP的二进制CGI能够安全的被防置在WED树以外的地方,同时他人不能采用某种特殊的手段来获得存取权。请参考section in the security chapter中关于这个选项的内容。
--enable-bcmath
使BC风格的任意精度数学函数可以使用。请参考configuration file中有关 configuration file的选项。
--enable-force-cgi-redirect
使用安全检查内部服务器的重新定向。如果用户在Apache上运行CGI程序需要使用这个特性。
当把PHP当成CGI二进制来使用时,作为缺省的设置,PHP将首先检查它是否被重新定向所使用(例如,在Apache上使用活动指示)。这将确认PHP二进制不能被用来直接调用从而跳过标准的WEB服务器身份鉴定程序,例如:http://my.host/cgi-bin/php/secret/doc.html。这个例子存取了http://my.host/secret/doc.html,但是没有进行过HTTPD为目录/secret所做的安全设置。
不使用这个选项而关闭这种检查同时使用旁路HTTPD安全和身份设置。如果您要这样做的话,除非是您的服务器软件不能指出一种安全的重新定向;同时在您的文件夹根目录和用户目录中的文件将被任何人存取。
请参考安全那一章中有关这个选项的内容。
--disable-short-tags
禁止短形势的PHP3标签 ?>。如果你想使用XML(扩展标记语言)的话,就必须禁用 ?>,那么,PHP的代码标签就只剩下了。这个选项只能被设置为默认。可以通过修改配置文件里的short open tag指令来打开或者关闭这个选项。
--enable-url-includes
通过include()函数,PHP3能够直接运行其它HTTP和FTP站点的代码。参阅配置文件里的include path选项。
--disable-syntax-hl
关闭语法突出显示功能。
CPPFLAGS and LDFLAGS
为了能在PHP的安装过程中能在不同的路径下找到头文件和库文件,修改cppllags和ldflags环境变量。如果你正在使用一种智能shell(命令解释程序),你应当能够设置LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
创建
配置完PHP3,你即将创建可执行的CGI或PHP3的库。 Make的命令应该注意到这些问题,如果失败了,你将不知道为什么?请察看问题那一章。
测试
如果你已经把PHP3作为CGI程序进行了创建,你可以通过make test命令来测试你的工作。建议你进行测试,在你的平台上早点发现你的PHP3的问题,好过你日后为这个问题的解决焦头烂额。