首页 > 编程技术 > php

ASP与PHP本地服务器环境构建注意事项

发布时间:2016-11-25 16:08

在 winxp 中构建运行平台,很简单,也没有太多的注意事项。但在 windows 2003 server 中构建就很麻烦了。主要应该注意以下问题:

1、先卸载旧版本,再重新安装。建议不要覆盖安装,因为覆盖安装时,有些文件设置不能被更新。重新安装的软件至少包括:
(1)IIS;(2)PHP;(3)MySQL;(4)MySQL Administrator;(5)Zend;(6)phpMyAdmin。
2、IIS是否安装,且至少包括下列组件:
(1)网络服务-简单TCP/IP服务;(2)应用程序服务器-ASP.NET(以便运行aspx);(3)应用程序服务器-Internet信息服务(IIS)-公用文件/Internet信息服务管理器;(4)应用程序服务器-Internet信息服务(IIS)-文件传输协议(FTP)服务(以便运行ftp);(5)应用程序服务器-Internet信息服务(IIS)-万维网服务-万维网服务/Active Server Pages(以便运行ASP)
3、IIS配置:Internet信息服务管理器-新建“网站”或“FTP站点”(不要新建“虚拟目录”)。如果需要修改或上传文件,则除了“运行”脚本功能外,还应勾选“写入”功能。
  Web服务扩展把所有的均设置为“允许”,至少包括:Active Server Pages。点击“添加一个新的Web服务扩展”,扩展名“PHP 5.2.0”,要求的文件“C:PHP5php5isapi.dll”,并设置为“允许”,以便支持php。
4、PHP安装:
(1)使用手动版安装,不使用压缩包自动安装。
(2)是否安装在“C:PHP5”目录下,建议不要安装在D盘或E盘,因为可能导致无法加载php5isapi.dll文件。
(3)PHP.ini文件是否作了更改(直接使用php.ini-dist,不需要使用推荐的php.ini-recommended):
  short_open_tag = On(默认为On,以便php支持短标识符)
  asp_tags = On(Off改为On,以便php也支持asp标识符)
  output_buffering = On(Off改为On)
  register_globals = On(Off改为On,以便支持老版程序)
  post_max_size = 10M(默认8M,修改大些,以便支持Post的内容能多些)
  extension_dir = "c:PHP5ext"(默认是空,必须修改为实际的扩展文件夹)
  file_uploads = On(默认On,以便支持文件上传)
  upload_max_filesize = 20M(默认仅为2M,修改大些,以便支持上传的文件能大些)
  ; Windows Extensions(该语句以下的extension=php_mbstring.dll等前面的;号全部删除,以便PHP最大限度支持各种扩展)
  mysql.default_host = "localhost";mysql.default_user = "root";mysql.default_password = "";这三句通常不用设置,默认为空。
  session.save_path = "c:PHP5sessionTEMP"(必须启用该行,并且新建一个文件夹sessionTEMP,专门用来存放session变量,通常的网站都会使用session)
(4)PHP.ini是否剪切到了“系统盘/windows/”下。
(5)“系统属性-高级-环境变量-TEMP-Path”下是否新增了两个路径“;c:PHP5;c:PHP5ext”,以便系统能找到扩展文件。
(6)安装为ISAPI模式:Internet信息服务管理器-网站属性
  IP地址需要选择(网络连接-本地连接-属性-Internet协议TCP/IP-属性:ip地址172.**.*.55,子网掩码255.255.255.0,默认网关172.**.*.254,首选DNS服务器202.106.0.20,备用DNS服务器为空);
  ISAPI筛选器-添加-名称:PHP-可执行文件:c:PHP5php5isapi.dll
  主目录-配置-映射-添加-扩

什么是 GUID?

全球唯一标识符 (GUID) 是一个字母数字标识符,用于指示产品的唯一性安装。在许多流行软件应用程序(例如 Web 浏览器和媒体播放器)中,都使用 GUID。

GUID 的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中每个 x 是 0-9 或 a-f 范围内的一个十六进制的数字。例如:6F9619FF-8B86-D011-B42D-00C04FC964FF 即为有效的 GUID 值。

为什么要用GUID?

世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。在 Windows 平台上,GUID 应用非常广泛:注册表、类及接口标识、数据库、甚至自动生成的机器名、目录名等。

asp下生成guid的代码
<%

Dim objTypeLib

Set ōbjTypeLib = CreateObject("scrīptlet.TypeLib")

Response.Write objTypeLib.Guid

%>
php下生成guid要用到class .
guid.class.guid
<?
class  System
{
    function  currentTimeMillis()
      {
          list($usec,  $sec)  =  explode("  ",microtime());
          return  $sec.substr($usec,  2,  3);
      }
}
class  NetAddress
{
      var  $Name  =  ''localhost'';
      var  $IP  =  ''127.0.0.1'';
      function  getLocalHost()  //  static
        {
           $address  =  new  NetAddress();
           $address->Name  =  $_ENV["COMPUTERNAME"];
           $address->IP  =  $_SERVER["SERVER_ADDR"];
            return  $address;
        }
      function  toString()
       {
           return  strtolower($this->Name.''/''.$this->IP);
        }
}
class  Random
{
    functi PHP ADODB 1.99版手册中文翻译
翻译作者:Tripc
修正作者:heiyeluren
----------------------------------------------

修正说明:因为之前的版本是台湾版的,所以很多语句不符合大陆的使用习惯,于是我稍微用Editplus修正了一下,希望给学习ADODB的同志们一个参考。
(heiyeluren修正于2005-6-22)
 
ADODB
PHP 在数据库的支持上是很令人称道的,几乎所有的知名数据库系统都有对应的函数群支持,而且支持的很完整。但很不幸的,每一群数据库支持函数无论在名称或参数结构上,都有很大的差异,这使得PHP的系统开发者在面临更换数据库时,总会觉得痛苦万分。难道这个问题就没有解决方法吗?呵呵,当然有,答案就是我现在要介绍的 ADODB 这个PHP物件。

ADODB提供了完整的方法和属性让工程师去控制数据库系统,更棒的是你只要记得它的功能就好了,因为不同的数据库系统,只要修改一个属性值就可以了,ADODB会自动依据设定取用正确的PHP函数。此外,最多再配合数据库系统修改修改SQL指令,你的PHP系统就可以在最短的时间内更换到另一个数据库系统了,如果在编写程序时,对SQL指令能做妥善规划,那就更快了。

经过以上的介绍,相信你已经对ADODB的功用有所了解,以下为ADODB的详细介绍。

取得ADODB
你可以在 http://php.weblogs.com/ADOdb 取得最新版的ADODB。我在编写本文时,最新版本是1.99版,版权采BSD-Style及LGPL双轨制,换句话就是Freeware,没有什么限制。但在取得ADODB后,最好还是要看一下相关版权说明及用法,并和本文对照一下,以免错误。

使用ADODB
基本上使用ADODB是相当容易的,取得压缩文件后解开,我建议将整个内容都解到ADODB的目录里。然后你可以一边参考本文,一边研究里面的范例,就放在里面的test目录下。

由于ADODB附上的说明十分完整详实,以下的说明大部份来自ADODB的readme.htm,这里不是全部的内容,我把一些我认为没有用的内容都去掉了,像版本差异说明、何编写支持ADODB的驱动程序等与应用无关的部份。想要了解全部内容的读者还是可以自己去参考 readme.htm。


--------------------------------------------------------------------------------

简介

特色

安装

启动ADODB

ADONewConnection

NewADOConnection

支持的数据库

学习手册

范例 1 : Select

范例 2 : 进阶 Select

范例 3 : Insert

范例 4 : 除错及 rs2html 范例

范例 5 : MySQL 及选单

范例 6 : 一次连接两个数据库

范例 7 : 产生更新及新增的SQL指令

范例 8 : 用下一笔及上一笔实作卷动

客制化错误处理及PEAR错误

数据集快取

参考手册

ADOConnection

连接数据库:Connect PConnect

执行SQL:Execute CacheExecute SelectLimit CacheSelectLimit Prepare PrepareSP GetOne GetRow

产生 更新/新增:GetUpdateSQL GetInsertSQL

BLOB : UpdateBlob UpdateClob UpdateBlobFile

换页/卷页 : PageExecute CachePageExecute

清除 : CacheFlush Close

交易 : BeginTrans CommitTrans RollbackTrans

提取数据 : $ADODB_FETCH_MODE BlankRecordSet

字串 : Concat qstr

日期 : DBDate DBTimeStamp UnixDate UnixTimeStamp

"列"管理器 : Affected_Rows Insert_ID GenID

错误处理 : ErrorMsg ErrorNo

数据辞典 : MetaDatabases Meta curl 是使用URL语法的传送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道和大量其他有用的技巧。

原来php默认并不进行此项功能的扩展,但还是有的,只是没有让它生效罢了。打开PHP安装目录,搜索以下三个文件 ssleay32.dll、libeay32.dll和 php_curl.dll,一一拷贝到系统目录下的system32文件夹下,修改php.ini文件,找到;extension= php_curl.dll行,去掉前面的;号,保存,重启服务器。在站点目录下建立一个PHP文件,内容如下
PHP代码

   1. <?php   
   2.     $ch = curl_init("http://www.php.net");   
   3.     curl_exec($ch);   
   4.     curl_close($ch);
   5. ?> 


预览如果能打开http://www.php.net的话说明就安装成功了。

至于linux及unix的安装可以要麻烦一些,得从http://curl.haxx.se/或其他网站上下载curl库
____________________________________________________________

以下关于此函数各项使用参数:

bool curl_setopt (int ch, string option, mixed value)
curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。下列选项的值将被作为长整形使用(在option参数中指定): 
*CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。
*CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。
*CURLOPT_HEADER: 如果你想把一个头包含在输出中,设置这个选项为一个非零值。
*CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传输显示一个进程条,设置这个选项为一个非零值。注意:PHP自动设置这个选项为非零值,你应该仅仅为了调试的目的来改变这个选项。
*CURLOPT_NOBODY: 如果你不想在输出中包含body部分,设置这个选项为一个非零值。
*CURLOPT_FAILONERROR: 如果你想让PHP在发生错误(HTTP代码返回大于等于300)时,不显示,设置这个选项为一人非零值。默认行为是返回一个正常页,忽略代码。
*CURLOPT_UPLOAD: 如果你想让PHP为上传做准备,设置这个选项为一个非零值。
*CURLOPT_POST: 如果你想PHP去做一个正规的HTTP POST,设置这个选项为一个非零值。这个POST是普通的 application/x-www-from-urlencoded 类型,多数被HTML表单使用。
*CURLOPT_FTPLISTONLY: 设置这个选项为非零值,PHP将列出FTP的目录名列表。
*CURLOPT_FTPAPPEND: 设置这个选项为一个非零值,PHP将应用远程文件代替覆盖它。
*CURLOPT_NETRC: 设置这个选项为一个非零值,PHP将在你的 ~./netrc 文件中查找你要建立连接的远程站点的用户名及密码。
*CURLOPT_FOLLOWLOCATION: 设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 “Location: “的头)。
*CURLOPT_PUT: 设置这个选项为一个非零值去用HTTP上传一个文件。要上传这个文件必须设置CURLOPT_INFILE和CURLOPT_INFILESIZE选项. *CURLOPT_MUTE: 设置这个选项为一个非零值,PHP对于CURL函数将完全沉默。
*CURLOPT_TIMEOUT: 设置一个长整形数,作为最大延续多少秒。
*CURLOPT_LOW_SPEED_LIMIT: 设置一个长整形数,控制传送多少字节
Framework PHP4 PHP5 MVC Multiple DB''s ORM DB Objects Templates Caching Validation Ajax Auth Module Modules
Akelos PHP Framework  
标签:[!--infotagslink--]

您可能感兴趣的文章: