PHP 3 专题 -- PHP3 设置
---摘自互联网
这里有两种方法来设置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的代码标签就只剩下<?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的问题,好过你日后为这个问题的解决焦头烂额。