欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

Apache 1.33与PHP 4.4.0配置手记

程序员文章站 2022-05-09 20:45:53
...
  最近状态不好,就这么一个东西,几分钟应该解决的问题,晚上竟然折腾了两个小时,实在是不爽,看来有必要记录一下,免得每次配置的时候总看那些注释...今天实在是看差了一行..

  1) PHP配置

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  这部分是错误处理与日志error_reporting

  由一些位的组合来管理记录错误的类型,如果是用php.ini-disc的话,默认的选项为E_ALL & ~E_NOTICE,这一部分可以随你的用途来设置,一般在编写调试脚本的时候我喜欢E_ALL,无论什么时候,将一些警告当作错误处理是有好处的.

display_errors

  默认为On,表示将符合error_reporting选项的错误输出到页面中,不过在正是发布运行之后,还是将其设置为Off,这也是这个选项注释中的一个建议.原文如下:

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.

log_errors

  默认为Off,作用是将符合error_reporting选项的错误记录到文件中(罗嗦了点,就是日志文件),注释中强烈建议你打开这个选项,将错误记录到文件,而不是输出到页面中.

"you're strongly advised to use error logging in place of error displaying on production web sites."

log_errors_max_len

日志文件的最大长度,默认为1024,0表示没有限制..

error_log

默认是被注释掉的,这个选项有两个值,一种是filename,表示日志所要记录到的文件;一种是syslog,表示记录到系统的日志中(注意:这个选项只对NT以上的系统起作用,对9x不起作用)

;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;

这一部分描述的是PHP数据处理的一些选项,有很多也与安全问题相关.

register_globals

默认为Off,这个选项的作用的讨论是个古老的话题了,具体的就看个人习惯,方便是不假,但多少会对程序有些考验.

magic_quotes_gpc

默认为On,不过我喜欢是Off,打开会对sql injection有一定的妨碍,不过只是一定,不是彻底..具体可以见http://www.4ngel.net的相关文章.

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

一些路径的设置(这里假设你的php路径为c:\php)

include_path

无论用或不用,我都设置成c:\php\pear,不过pear的功能还是很强大的..关于pear具体见http://pear.php.net

extension_dir

也不用多说什么了,就设置成c:\php\extensions不会有什么错的.

cgi.force_redirect

默认为注释掉,关于这个选项到底是做什么用的,我现在也没弄明白,不过使用apache的时候,保持默认就可以;对于IIS说明中要关闭此选项(设置为0).官方都这样说了,照着做就可以.

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

文件上传相关设置

file_uploads

默认为On,表示启用文件上传功能.可以根据自己的需求进行定制.

upload_tmp_dir

上传文件的临时目录,默认是注释掉的,表示使用系统指定的临时目录,我喜欢自己指定一个单独的目录,至少得给一个写的权限.

upload_max_filesize

上传文件的大小,默认为2M.看个人的喜好了.

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

扩展,又是扩展,扩展是好东西,灵活方便.

格式为:extension=modulename.extension,例如extension=msql.dll(windows下),extension=msql.so(*nix下)

php中自带了很多的扩展,根据需要定制吧...对了,生成验证码有时候会需要调用gd2这个扩展,去掉前面的注释总是没错的,这些扩展具体的功能请参考php手册(http://www.php.net/docs.php).(注意:4.4.0里面不包含gd库,只有gd2)

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

模块设置
[MySQL]

大多数人都喜欢用MySQL,这里如果需要的话,可以做下设置,但多数的情况还是取决于你的程序如何.

[Session]

Cookie和Session相关设置都在这里了..安全问题也就不会少了,但还是一样,取决于程序写的如何.
session.save_path

session在服务器中的保存路径,默认设置为空.注意:如果你不建立这个目录,PHP也不会自动建立此目录,所以,还是咱自己动手来吧...否则总要蹦出一些警告信息.
剩下还有些session有效时间的选项,自己看下手册或注释,按照自己的需要定制就可以.
到此,PHP的配置算是完成了,下面是APACHE 1.33的.

2)APACHE配置

这方面的文章说的很多,而且Apache手册详细到让人懒的看的地步.这里只说一下针对PHP需要做配置以及一些基本选项设置.这里假设Apache和PHP的安装路径为C:\Apache和C:\PHP,WEB路径为D:\wwwroot

ServerName

做为程序编写与调试我喜欢设置为localhost

ServerRoot

Apache的安装路径,当然就为C:\Apache

DocumentRoot

WEB的主目录,d:\wwwroot

ServerSignature Off
ServerTokens Prod

这两个选项配合起来可以取消出错时Apache显示的banner.apache 1.33中没有ServerTokens的注释,不过可以在手册中找到,详细的解释请参考手册,这里就不多说了.

下面说说针对PHP的配置:

基本上都是要添加的,找到相应位置,加进去即可.
LoadModule php4_module "c:/php/sapi/php4apache.dll"
AddModule mod_php4.c
DirectoryIndex index.php index.php3 index.htm index.html
AddType application/x-httpd-php .php
上面的配置是将PHP做为Apache的模块来运行,如果你需要以CGI的方式来运行,将上面LoadModule和AddModule去掉,在配置文件相应位置添加:
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe"

Apache的配置到此结束,之后可以用来测试.
Apache是个强大的web服务器,这里只说到了基本的配置,对于性能的优化以及其他功能的,请参考其他相关文章.如有错误请多多指教.