首页 > 网站 > Apache > 正文

Apache 1.33与PHP 4.4.0配置手记

2024-08-27 18:29:05
字体:
来源:转载
供稿:网友

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

  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的配置到此结束,之后可以用<?php phpinfo(); ?>来测试.
apache是个强大的web服务器,这里只说到了基本的配置,对于性能的优化以及其他功能的,请参考其他相关文章.如有错误请多多指教.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表