2007年01月31日

win2003下php5免安装版安装步骤

1,到http://www.php.net/downloads.php下载php5.2.0安装程序。PHP 5.2.0 zip package [9,433Kb] – 02 Nov 2006
md5: 910734e96f41190020272d80b82ce553。
解压缩到c:\php文件夹(可以选择其它的路径但最好不要用中间有空格的路径(例如:C:\Program Files\PHP 就不太好),如果这样做有些 web 服务器会崩溃)。
PHP 5 目录结构
c:\php
   |
   +–dev
   |  |
   |  |-php5ts.lib
   |
   +–ext                 — PHP 的扩展 DLL 文件
   |  |
   |  |-php_bz2.dll
   |  |
   |  |-php_cpdf.dll
   |  |
   |  |-..
   |
   +–extras
   |  |
   |  +–mibs             — SNMP 支持文件
   |  |
   |  +–openssl          — Openssl 支持文件
   |  |
   |  +–pdf-related      — PDF 支持文件
   |  |
   |  |-mime.magic
   |
   +–pear                — PEAR 的初始复本
   |
   |
   |-go-pear.bat          — PEAR 安装脚本
   |
   |-fdftk.dll
   |
   |-..
   |
   |-php-cgi.exe          — CGI 可执行文件
   |
   |-php-win.exe          — 执行脚本时不弹出命令提示行窗口
   |
   |-php.exe              — CLI 可执行程序 – 仅使用在命令行脚本
   |
   |-..
   |
   |-php.ini-dist         — 默认的 php.ini 设置
   |
   |-php.ini-recommended  — 推荐 php.ini 设置
   |
   |-php5activescript.dll
   |
   |-php5apache.dll
   |
   |-php5apache2.dll
   |
   |-..
   |
   |-php5ts.dll           — 核心 PHP DLL 文件
   |
   |-…

下面是 PHP 4 和 PHP 5 附带的服务器模块列表:

sapi/php4activescript.dll (php5activescript.dll) – ActiveScript 引擎,允许将 PHP 嵌入 Windows 应用程序中。
sapi/php4apache.dll(php5apache.dll) – Apache 1.3.x 模块。
sapi/php4apache2.dll(php5apache2.dll) – Apache 2.0.x 模块。
sapi/php4isapi.dll(php5isapi.dll) – ISAPI 模块,支持 ISAPI 兼容的 web 服务器,比如 IIS 4.0/PWS 4.0 或更新版本。
sapi/php4nsapi.dll(php5nsapi.dll) – Sun/iPlanet/Netscape 服务器模块。
sapi/php4pi3web.dll(PHP 5 无此模块) – Pi3Web 服务器模块。

2,CGI 和 CLI 可执行文件以及 web 服务器模块都需要 php4ts.dll(php5ts.dll)。必须确认该文件可以在 PHP 安装路径中找到。对该 DLL 的搜索顺序为:
a,调用 php.exe 时所在的目录,或者若使用 SAPI 模块时,web 服务器的目录(例如 C:\Program Files\Apache Group\Apache2\bin)。
b,任何在 Windows 的 PATH 环境变量中指定的目录(推荐使用)。

3,下一步是为 PHP 设置一个有效的配置文件,php.ini。在 ZIP 包中有两个 ini 文件,php.ini-dist 和 php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini。应该将php.ini 放到 winnt目录下,可以使用phpinfo()函数查看能找到php.ini文件的目录(Configuration File (php.ini) Path )。
关于php.ini详细配置在后面专门介绍。

4,PHP 现在已经安装在系统中了。接下来一步是选择一个 web 服务器,并为之启用 PHP。

5,
要用 ISAPI 模块方式,按如下方法进行:
如果不想用 PHP 进行 HTTP 认证,应该跳过这一步。在“ISAPI 筛选器”标签页中添加一个新的 ISAPI 筛选器。“筛选器名称”设为 PHP,“可执行文件”设为 php4isapi.dll/php5isapi.dll 的路径。
选择“主目录”,“虚拟目录”或“目录”标签页,然后进行:将执行权限改为“纯脚本” ,点“配置”按钮,选择“映射”标签页。点击“添加”按钮,将“可执行文件”指向适当的 ISAPI DLL。
例如 PHP 5 的值可能是:C:\php\php5isapi.dll。在“扩展名”中填入 .php。选择“全部动作”(或者“限制为”留空),选中“脚本引擎”。然后点击“确定”。
完全停止 IIS(NET STOP iisadmin)
重新启动 IIS(NET START w3svc)

6,对于 IIS 6(2003 Server),打开 IIS 管理器,进入 web 服务扩展,点击“添加一个新的 web 服务扩展”,“扩展名”中输入名称,例如 PHP,再点击“添加”按钮,点击“浏览”选择要么 ISAPI 文件(php4isapi.dll 或 php5isapi.dll)或者 CGI 文件(php.exe 或 php-cgi.exe)作为“文件路径”后点“确定”,然后选中“设置扩展状态为允许”并点“确定”。

7,配置此服务器的推荐方法是使用随包发布的注册表文件(PHP 4 是 SAPI 目录下的 pws-php4cgi.reg,PHP 5 是主目录下的 pws-php5cgi.reg)。可能要编辑此文件已确保其中的 PHP 安装目录和扩展库目录符合用户自己的设置。

问题:
1,出现“Notice: Undefined variable: strcut in …\String.inc.php on line 19”错误。
原因:在IIS+PHP环境中,变量使用前必须先定义/赋值,然后再使用。

2007年01月22日

在微软内置在IIS里的FTP服务中实现多用户的管理。

1,需要取消“站点属性/允许匿名连接”,如图1。

2,进入“计算机管理/本地用户和组”,新建立一个组,这里建立为FTPuser,然后新建立一个用户FTP01,然后修改FTP01的属性,把它加入FTPuser组,去掉系统默认的users组。在NTFS格式分区下(这里为d盘)创建文件夹FTP01和FTP02,然后设置安全权限,如图2。

3, 同样设置文件夹FTP02的权限为FTP02完全控制,当然这里可以按照实际情况分配不同用户不同的权限。回到IIS管理器,选择一个FTP站点“新建/虚拟目录/下一步”在别名处输入FTP01,选择“下一步”,路径选择刚刚创建的FTP01目录,选择“下一步”,同样新建一个虚拟目录FTP02,路径指向FTP02目录。这里注意的是:别名和目录名以及用户名3个必须完全一致。

4,测试一下:这里以IP为192.168.0.16为例,输入FTP://192.168.0.16,回车,提示输入用户和密码,输入FTP01及其密码,顺利进入,这时进入的只能是FTP01虚拟目录,可以上传一个文件,然后在服务器上查看一下是放置在哪个目录下就可判定了。同样,以FTP02登入,就进入了FTP02目录,用户被限制在自己的目录内不能进入他人目录,安全性还是有保障。如果用户需要能自己更改密码,则只需要在创建用户的时候,不选中图3所示的选项即可。

小提示:
1,  客户端修改FTP账户密码的方法:
  在命令提示符下输入:
    FTP 192.168.0.16
  输入用户名
  输入密码
  输入quote “site pswd 旧密码 新密码”
2,  本方法优点:结合NTFS权限以及磁盘限额能很好地实现多用户的多样化管理。
  本方法缺点:由于FTP用户密码是以明文的方式在网络上传输,所以不太安全,遗憾的是,IIS内置的FTP服务并不支持SSL,这一点比不上Serv-U。
3,如果从网络无法访问ftp服务器,需要注意查看本地安全策略:
管理工具-〉本地安全设置-〉本地策略-〉用户权限分配-〉从网络访问此计算机
看FTPUSERS用户组/FTP用户是否有从远程访问此计算机的的权限。