首页 > 编程技术 > php

IIS环境下安装PHP5手记

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

1,要下载2个php的安装包:一个是install版本的,另一个是zip版本的 。
2,运行install版本,按照标准模式安装就可以了,安装过程中注意正确选择你的iIS版本。
2000server 选iis4或更高版本 ,2003server选择iis 6.
关联.php,.phtml.php3等文件类型。这里设定d:php作为安装目录
3,别着急,现在还不能马上用.把zip版的解压缩,到d:php5zip文件夹下面,copy目录下所有的文件和目录,然后粘贴到d:php,覆盖下面的所有文件.
4,C:PHPext下面的dll扩展文件复制到c:windowssystem32下面,*给guests用户组(我的机器上,每个站点设置了用不同的匿名用户,这些用户都属于guests组,如果你只有一个ISUR_你的机器名,则只需要设置ISUR_你的机器名的权限)这些关于PHP5的dll文件读取和运行的权限。
5,*给guests用户组php.exe,php-cgi.exe,php5isapi.dll读取和运行的权限。
6,*设置c:windowsphp.ini 或者 c:winntphp.ini为guests用户组可以:读取.
7,最后,别忘记在IIS里面给站点属性--〉文档里增加index.php或者default.php
8,MySQL的启用:
需要去掉c:windowsphp.ini 或者 c:winntphp.ini里面关于php_mysqli.dll扩展的注释
另外增加extension=php_mysql.dll
9,好了,如果要增加图形或其他功能,修改php.ini 里面的extension,并且把相关的dll文件复制到c:windowssystem32下面,并给guests用户组这些关于PHP5的dll文件读取和运行的权限。


存储过程和函数是MySql5.0刚刚引入的。关于这方面的操作在PHP里面没有直接的支持。但是由于Mysql PHP API的设计,使得我们可以在以前的PHP版本中的mysql php api中支持存储过程和函数的调用。
在php中调用存储过程和函数。
1。调用存储过程的方法。
a。如果存储过程有 IN/INOUT参数,声明一个变量,输入参数给存储过程,该变量是一对,
一个php变量(也可以不必,只是没有php变量时,没有办法进行动态输入),一个Mysql
变量。
b。如果存储过程有OUT变量,声明一个Mysql变量。
mysql变量的声明比较特殊,必须让mysql服务器知道此变量的存在,其实也就是执行一条mysql语句。
入set @mysqlvar=$phpvar ;
c。使用mysql_query()/mysql_db_query()执行mysql 变量声明语句。
mysql_query("set @mysqlvar【=$pbpvar】");
这样,在mysql服务器里面就有一个变量,@mysqlar。如果时IN参数,那么其值可以有phpar传入。
d。
 如果时存储过程。
1。执行 call procedure()语句。
也就是mysql_query("call proceduer([var1]...)");
2. 如果有返回值,执行select @ar,返回执行结果。
mysql_query("select @var)"
接下来的操作就和php执行一般的mysql语句一样了。可以通过mydql_fetch_row()等函数获得结果。
如果时函数。
 直接执行 select function() 就可以了。
$host="localhost";
$user="root";
$password="11212";
$db="samp_db";
$dblink=mysql_connect($host,$user,$password)
or die("can't connect to mysql");
mysql_select_db($db,$dblink)
or die("can't select samp_db");
$res=mysql_query("set @a=$password",$dblink);
$res=mysql_query("call aa(@a)",$dblink);
$res=mysql_query("select @a",$dblink);
$row=mysql_fetch_row($res);
echo $row[0];
转自:动态网制作指南 www.111cn.net

第三章 范例:the Hangman Game


  这一章将会讲一下开发一个基于Web的Hangman Game(猜词游戏)。这里面会用到一些PRADO的组件。这个游戏说明了显示状态使PRADO页面具有很强的交互性。
  这个游戏只包括了一个页面来实现以下的功能:当用户第一次访问的时候,允许用户选择三种不同难度来开始这个游戏,不同的难度对应着不同的可以猜错的次数。游戏开始后,页面的上半部分会显示要猜得单词,没有猜中的字母用下划线显示。页面的下半部分列出了26个字母,用户可以点击对应字母来选择要猜的字母。如果用户放弃游戏或者错误次数超过了难度限制,会显示失败信息;如果猜对了,会显示成功信息。任何时候用户都可以重新开始游戏。
 

  范例中会使用的 PRADO 组件包括:

TRadioButton: 显示一个单选框。
TPanel: 显示 <div> 元素。
TLabel: 显示文本。
TButton: 显示一个提交按钮。
TLinkButton: 显示一个提交操作的超链接。
TForm: 显示 <form> 元素。
 

  这些定义好的组件通过属性和事件已经封装好了很多功能。比如,可以设置TPanelVisible
属性来控制整个<div>元素是不是可见。可以给TButton 组件的OnClick 事件指定一个响应函数,这样当用户点击按钮的时候就会自动调用响应函数。请参考PRADO API文档中关于这些组件更详细的信息。
  游戏中的一些数据在游戏过程中需要一值保持着的。因为这里只用了一个页面,所以可以使用显示状态而不需要使用session来保存这些数据。下面这些数据需要保存在显示状态中:

Word:要猜得单词。
GuessWord: 正在猜的单词(没有猜中用下划线显示)。
Level:游戏的难度级别。
Misses: 猜错的次数。
 

  他们都被定义在页面的属性中(当然也可以不这么做)。
 
  我们需要创建6个文件。假定这个应用放在Web服务器的根目录下,这些文件是:

hangman.php : 应用的主入口;
WEB-INF/hangman.spec: 应用的配置文件;
WEB-INF/hangman/HomePage.php: 页面类文件;
WEB-INF/hangman/HomePage.spec: 页面规格文件;
WEB-INF/hangman/HomePage.tpl: 页面模板文件;
WEB-INF/data/hangman.txt: 包含要猜得单词的文本文件。
  对于已经熟悉Apache+PHP+MYSQL的安装配置的开发人员,或者是不想涉及开发而只是想建立PHP应用程序的人来说,使用Apache/PHP/MYSQL安装套件来配置PHP的WEB环境会方便不少,但是选择合适的套件还是需要的。个人把曾经使用过的,以及比较知名的安装套件总结如下:
  WAMP
  一直在用的,带有phpMyAdmin和SQLiteManager ,提供了很多Add-on插件,如PHP版本切换、ZEND OPTIMIZER 、WEBALIZER等,站长推荐!
  http://www.wampserver.com/
  TSW
  比较完整,支持PERL,FTPServer,还提供有Tomcat和wordpress插件
  http://sourceforge.net/projects/yawamp/
  GREENAMP
  国产的套件,无删除功能
  http://chin.blogchina.com
  VertrigoServ
  内置了ZendOptimizer
  http://vertrigo.sourceforge.net/
  XAMP
  很不错,提供了丰富的插件,如perl、python、tomcat和cocoon
  http://www.apachefriends.org/de/xampp-windows.html
  WAPM
  国产的,支持Tomcat和Turck MMCahe、ZendOptimizer
  http://w.yi.org/
  Appserv
  也整合了Zend Optimizer
  http://www.appservnetwork.com/
  Apache2Triad
  包含了Perl , Python
  http://apache2triad.sourceforge.net
  EasyPHP
  安装比较简单
  http://www.easyphp.org/
  LiteWeb
  支持Perl和虚拟域名
  http://www.cmfperception.com/liteweb.html
  phpHome
  http://phphome.sourceforge.net/


<?php
//多文件上载系统完整版
//功能强大,可任意控制上载文件数,是否覆盖
//叨叨
//信箱:pjzhp@263.net
include("../include/common.inc");
$title = "多个文件的上载程序";
include("../include/header.inc");
//定义允许上载文件的数目
define("UPLOAD_NO", 10);
echo("<p align="center"><font size="4" color="#000080">欢迎您!<br>一次可以最多上载".UPLOAD_NO."个文件<br><HR>n");
if($REQUEST_METHOD!="POST"){
echo("<form enctype="multipart/form-data" method=post>n");
echo("<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="3000000">n");
for($i=1;$i<=UPLOAD_NO;$i ){
echo("<input type=file name=infile$i>");
if($i%2==0)
echo("<br>n");
}
echo("<br><br><input type="checkbox" name="overload" value="ON"></font> <font color="#ff0000">是否覆盖已经存在的文件?</font>");
echo("<br><br><input type=submit value=上载></form>n");
}
else{
//处理上载
$noinput = true;
for($i=1;$noinput&&($i<=UPLOAD_NO);$i ){
if(${"infile".$i}!="none") $noinput = false;
}
if($noinput){
echo("<font size="4" color="#000080">没有选定的文件,返回重试</font>");
exit();
}
echo("<p align="center"><font size="4" color="#000080">您选中的文件已经成功地上载到服务器的临时目录!</font><br>");
echo("<table border="1" width="84%" height="52" bordercolorlight="#008080" bordercolordark="#008080">
<tr>
<td width="14%" bgcolor="#008000" height="21"><font color="#FFFFFF">文件号</font></td>
<td width="52%" bgcolor="#008000" height="21"><font color="#FFFFFF">文件名称</font></td>
<td width="34%" bgcolor="#008000" height="21"><font color="#FFFFFF">文件大小</font></td>
标签:[!--infotagslink--]

您可能感兴趣的文章: