hally的档案文件's profilehally的共享空间PhotosBlogLists Tools Help

Blog


    November 21

    咖啡排骨

    用料

    主料:新鲜排骨500克

    配料:鸡蛋、淀粉

    调料:咖啡豆、吉士粉、草果、陈皮、香叶、八角、桂皮、番茄酱、精盐、味精、鸡精、冰糖、花生油、高汤

    制作步骤

    1、将肉排洗净,切成小方块,加入吉士粉、精盐、味精、鸡蛋、淀粉上浆待用。

    2、热锅下花生油烧至五六成热,放入排骨炸至金黄色,捞起沥油。热锅下高汤,加入现磨的咖啡、草果、陈皮、香叶、八角、桂皮熬成咖啡汁。

    3、热锅下花生油,放入咖啡汁、番茄酱、冰糖、精盐、味精、高汤,烧沸后放入排骨,煨至熟透,勾芡装盘即可。

    制作关键

    要选用新鲜的小排。

    在制作咖啡汁时,要用慢火熬煮出味来。



    September 05

    Smarty模版技术

    Smarty模版技术

    整个配置过程分为九步走,文章看起来比较长,那是因为站长对每一个步骤都给出了没法再详细的解释,非常浅显,绝对是名副其实的“最简明教程”。按照这个教程,智商大于零的用户都能顺利配置好Smarty!~_~

    本文适用平台: Windows系统+IIS/APACHE+PHP4/PHP5

    在开始本文之前,首先得确定你的web服务器和PHP已经配置完毕并工作正常。

    1、下载Smarty包
    可以从官方站点下载:http://smarty.php.net
    17php论坛用户可以直接从论坛下载,论坛为大家提供的是目前最新的2.6.9版本
    大小:仅仅140K 压缩格式:.tar.gz
    论坛下载地址:bbs.17php.com/download/smarty269.tar.gz

    2、解压缩Smarty包并找到合适的位置存放.解压之后文件夹名可能是Smarty.x.x.x,把它修改成smarty(此处只为将来使用方便起见,并非必须),然后将含有Smarty文件的文件夹拷贝到某一个目录下(建议不要放在你的网站目录下,这样别人可以通过路径访问到这些文件,如果非要放在网站目录下,那最好目录的名字起的生僻一些。这些文件即使被别人访问到,也未必造成安全问题,但是一切都为了以防万一)。
    在文章的下面内容中,我们都是假设你的文件放在了d:\smarty下。

    3、找到你的php.ini配置文件(可以通过运行phpinfo()查看此文件路径,但一般都放在系统目录下)修改php.ini的include_path选项,把smarty的库文件路径加上,比如:
    include_path = ".;d:\smarty\libs"
    提醒一下,php.ini中一共有两处include_path,一处是Unix下使用的,一处是windows下使用的,要修改windows下使用的:
    -------------------------------------------------------------
    ; Windows: "\path1;\path2"
    include_path = ".;c:\php4\includes;d:\smarty\libs"
    --------------------------------------------------------------
    4、重新启动IIS/APACHE,重新启动的目的是使刚才的修改生效。
    重新启动的方法很简单,APACHE直接restart即可。对于IIS,可以用net stop iiadmin命令关闭iis,然后用net start w3svc命令启动,就完成了重新启动。如果实在不会重启,就干脆重新启动计算机,这样最省事。

    5、在你的网站目录下创建一个文件夹,名字任意,假设叫MySmarty:
    然后再在这个MySmarty目录下创建2个文件夹,templates和configs。
    创建完成之后如下:
    (你的网站目录)/MySmarty/templates (这个目录用来存放模版)
    (你的网站目录)/MySmarty/configs (这个目录用来存放一些配置信息)

    6、在MySmarty目录下再创建两个文件夹,名字分别叫:smarty_cache和smarty_templates_c。为什么刚才不一起创建呢?因为这个步骤在原来的官方资料中没有,而我在配置过程中发现,如果没有这两个文件夹,smarty将无法工作,不知道是不是官方资料的smarty版本和目前最新的版本有出入的原因。但是只要配置这两个目录,Smarty便可以顺利工作。因此建议进行配置。

    7、这时候你别忘了把我们上面从一开始到现在创建的四个文件夹的权限设置好。当然还包括存放smarty的文件夹d:\smarty的权限,因为有的NTFS格式的系统有严格的权限规定,你的目录创建之后还得有足够的权限才能让web程序访问。一般来说win2000和win2003下采用NTFS分区格式的系统需要做这样的设定,具体方法是在文件夹上点击右键,在“属性”中打开“安全”标签,在里面列出了可以访问这个目录的用户列表,如果没有web访问权限,则需要添加,把Internet来宾帐户和启动IIS进程帐户两个帐户都添加上即可。如果觉得麻烦,可以直接将Everyone用户组添加上,允许任何用户访问。

    8、这时候安装工作基本完成,可以进行第一个简单例子的测试:
    在你的网站目录下建立 index.php文件,并且在(网站目录)/MySmarty/templates/下建立index.tpl文件,分别输入以下代码
    index.php
    <?php
    //载入Smarty库
    require('Smarty.class.php');

     $smarty = new Smarty;

    //下面的(你的网站目录)用绝对路径,比如d:/intepub/wwwroot
     $smarty->template_dir = '(你的网站目录)/MySmarty/templates';
     $smarty->config_dir = '(你的网站目录)/MySmarty/config';
     $smarty->cache_dir = (你的网站目录)/MySmarty/smarty_cache';
     $smarty->compile_dir = (你的网站目录)/MySmarty/smarty_templates_c';
    //上面四行为使用Smarty前的必要参数配置

     $smarty->assign('name','跟17PHP学安装Smarty');
     $smarty->display('index.tpl');
    ?>

    index.tpl
    <html>
    <body>
    你好,{ $name}!
    </body>
    </html>
    9、现在终于可以观看以下自己的杰作了。运行index.php(当然是在你的web服务器上运行,和运行普通php文件完全一样。)
    http://localhost/index.php
    这时候如果看到下面的输出结果,说明你安装成功了~~~是不是很简单呢?
    你好,跟17PHP学安装Smarty!

    后记:虽然到此为止Smarty的安装已经完成,但是站长还是想给大家一点小建议。在上面的小例子中,可以发现如果我们每次使用Smarty前都需要设置参数,那未免过于麻烦。这时候你可以把smarty信息设置的四行代码包裹在一个类或者一个包含文件当中。这样就不用每次使用前都首先配置信息。关于这个就是Smarty的使用知识了,本篇文章不再涉及。站长目前也处在学习过程中,等到后面再继续推出和Smarty相关的文章吧~~~
    August 25

    IIS5中的两种服务器端网页重定向方法

    在IIS5中提供了两种服务器端网页重定向(或者说转向)的方法,一个是Server.Transfer方法, 另外一个是Server.Execute方法。说它们是服务器端重定向,是因为在不同页面之间的转向是直接在服务器端完成的, 客户端只能看到结果,而不能看到转向的过程。 这同以往我们在IIS4使用的Response.Redirect 方法是不同的。
         以前, 当我们需要从一个页面转向到另外一个页面的时候,我们一般都会使用Response对象的Redirect方法, 比如, 在我们的某个需要用户验证的页面,当用户没有登陆的时候, 就转到用户登陆页面,简单的例子代码如下:
    content.asp

    <%
    If Session("isLogin")="" Then
     Response.Redirect "Login.asp"
    End If

    '正常的内容

    %>


    那么,其实Response.Redirect方法, 是返回给浏览器一个Http Header状态为302的标记码,

    HTTP 1.0 302 Object Moved
    Location URL

    这样,实际上是浏览器请求服务器的content.asp 文件,content.asp文件经过处理以后告诉浏览器,你先访问login.asp文件, 于是浏览器再向服务器发送一个到login.asp页面的请求。所以, 实际上是转了一个弯。这样, 当客户端网络状况不是很好的情况下,两次请求会大大的降低应用程序的反应速度,甚至占用多余的带宽。特别是,当需要传递参数的时候,也会有一些问题。

    而在IIS5中, 提供了Server.TransferServer.Execute方法。

    这两种方法,都是在服务器间完成转向的,因此可以减少客户端的网络带宽的占有,但是因为服务器端要保存程序1的一些状态,也会消耗一定的内存。


    那么Server.TransferServer.Execute又有什么不同呢?

    通过例子来说明吧,这里有两个文件,file1.asp和file2.asp

    我们都是要在file1.asp里面转向到file2.asp


    用Tansfer方法时:

    file1.asp

    <%
    Response.Write "File 1 Header<br>"

    Server.Transfer "file2.asp"
    '到这里就停止执行下面的语句,转向了

    Response.Write "File 1 Footer<br>"

    %>

    file2.asp

    <%
    Response.Write "小雨在线"
    %>


    所有,当我们执行file1.asp文件时, 我们得到的结果是

    File 1 Header
    小雨在线

    因为,当程序遇到Transfer方法时,会停止执行后面的语句,转而执行转向的程序

    当使用Execute方法时:

    file1.asp

    <%
    Response.Write "File 1 Header<br>"

    Server.Execute "file2.asp"
    '到这里执行file2.asp,完成之后继续执行剩下的内容

    Response.Write "File 1 Footer<br>"

    %>

    file2.asp

    <%
    Response.Write "File 2"
    %>


    所有,当我们执行file1.asp文件时, 我们得到的结果是

    File 1 Header
    File2
    File 1 Footer

    因为,当程序遇到Execute方法时,会执行转向的程序,完成之后再继续执行第一页的剩下的内容。

    其实Execute方法就像我们经常写的子程序一样,类似于子程序调用。

     

    August 04

    用电饭锅蒸蛋糕

    先加入糖、面粉、牛奶、生粉、酵母、少量油、葡萄干、红枣、莲子磨碎的粉(代替杏仁粉),一起搅拌,配料混合好后,用筛子筛匀倒入蛋黄里,直至将鸡蛋和其它作料搅拌至很稀的面糊状,在锅底刷上一层油,将搅拌好的蛋糕糊倒入,盖好盖子,烧,快好的时候关火,不要立即取出,再放置10分钟让其充分的膨胀,然后将蛋糕倒扣在盘子上,蛋糕的周边间隔的放着几个桂圆托衬,一个香喷喷的美味水果蛋糕就出世了!

    红枣布丁

    将红枣放入锅中煮烂,去皮,去核,留肉,留汁待用。把白糖、蜂蜜、淀粉慢慢放入红枣汁中煮开,边煮边搅,将牛奶与枣肉倒进锅中搅匀,冷却后,色泽深红、细嫩柔软的红枣布丁就做成了
    July 05

    Apache 的配置



    下载并安装apache 如:apache_2.0.54-win32-x86-no_ssl.msi
    将apache安装在 如 D:/WEB/apache2 目录下
    打开 D:/WEB/Apache2confhttpd.conf 这个文件
    *找到 DocumentRoot "D:/Apache2/htdocs" 将其改为你的WEB目录(可不改)改为 DocumentRoot "D:/WEB/WWWRoot",如我是没有改
    *找到 DirectoryIndex index.html index.html.var 在后面加入 index.php default.php
    *找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行
    LoadModule php5_module d:/WEB/php/php5apache2.dll(其中d:/WEB/php/php5apache2.dll 为你php目录中php5apache2.dll所在的位置)
    *找到 AddType application/x-gzip .gz .tgz 这行,在此行的后加入下面两行
    AddType application/x-httpd-php .php
    AddType image/x-icon .ico
    *找到 #NameVirtualHost * 修改为:NameVirtualHost 127.0.0.1 //或localhost
    *找到
    修改下面几行:
    ServerAdmin (你刚才安装时候输入的管理员信箱)
    DocumentRoot F:/WWWRoot(服务器根目录)
    ServerName Apache2(服务器名,可任取)
    ErrorLog F:/Apache2/logserror(日志文件)
    CustomLog F:/Apache2/logsaccess common(日志文件)

    本人配置为

    <VirtualHost 127.0.0.1:80>
    ServerAdmin levi_to@163.com
    DocumentRoot D:/WEB/WWWRoot
    ServerName test.dev.asp
    ErrorLog D:/WEB/Apache2/logs error
    CustomLog D:/WEB/Apache2/logs access common
    </VirtualHost>

    test.dev.asp就是你的登陆浏览器浏览你页面的网址,不过还需在C:WINDOWSsystem32driversetc的hosts文件增加这一行

    127.0.0.1 test.dev.asp


    最后,在该文件末尾加上下面两行
    ScriptAlias /php/ "D:/WEB/php/"
    Action application/x-httpd-php "/php/php.exe"

    IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置

    网上有很多配置方法,有的比较麻烦,有的不全,其实只需要以下4步
    安装前要注意:程序所需要php环境版本是否和你要装的一样!
    1、把整个压缩包解压到c:\php
    2、将C:\PHP\php.ini-dist这个文件改名为PHP.ini,将其copy到c:\winnt(win98为c:\windows)下,并修改里面的内容,具体如下:找到“extension_dir = ”改为“extension_dir=c:\php\extensions”;找到“cgi.force_redirect”把前面的分号去掉,设置其值为0;如果运行出现session存储路径错误,就找“session.save_path”将其设置一个有效的目录,例如:session.save_path=c:\php。
    3、点击"开始 → 程序 → 管理工具 → Internet 服务管理器"打开"Internet 服务管理器",右击"默认Web站点 → 属性"打开"默认Web站点属性"窗口,在"主目录"配置页下,按"配置"按钮打开"应用程序配置"窗口,添加一个应用程序映射项,可执行文件为php.exe,文件的完整路径C:\PHP\php.exe,扩展名为.php(当然也可以改成别的,不过要注意您的PHP程序要以它为后缀),把"脚本引擎"打上勾。
    4、至于mysql直接装上就好用,不用说了。
    执行以上4步后就应该能运行大部分的php+mysql程序了。

    IIS+PHP+MySQL+Zend Optimizer+GD库+phpMyAdmin安装配置

    一、安装 PHP :

    (1)下载后得到 php-5.0.4-Win32.zip ,解压至C:\php(这个路径可以随意,不过下面要是用到这个路径,请相应修改);

    (2)再将C:\Inetpub\php目录下的所有dll文件(主要是C:\php下,C:\php\ext下的DLL文件)拷到c:\Windows\system32下,覆盖已有的dll文件;

    (3)将C:\PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows ( Windows 2000 下为 C:\WINNT)下; 将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索:
    ① register_globals = Off,将 Off 改成 On
    ② extension_dir =,将其路径指到你的 PHP 目录下的 extensions 目录,比如:extension_dir = "C:\php\ext"
    ③ 将以下列举的CODE前面的”;“去掉
    ;Windows Extensions
    ;extension=php_dbase.dll (可选)
    ;extension=php_gd2.dll (这个是用来支持GD库的,一般需要,必选)
    ;extension=php_ldap.dll (可选)
    ;extension=php_mbstring.dll (这不选一般用PHPMYADMIN会出红色提示,故必选)
    ;extension=php_mssql.dll (这个是用来支持MSSQL的,可选)
    ;extension=php_mysql.dll (这个是用来支持MYSQL的,要支持MYSQL必选)

    (4)、配置 IIS 使其支持 PHP :
    首先必须确定系统中已经正确安装 IIS ,如果没有安装,需要先安装 IIS ,安装步骤如下:
    打开浏览器,输入:http://localhost/,看到成功页面后进行下面的操作:
    PHP 支持 CGI 和 ISAPI 两种安装模式,推荐使用 ISAPI 模式。这里只解介绍 ISAPI 模式安装方法:ISAPI 模式安装步骤:
    在“控制面板”的“管理工具”中选择“Internet 服务管理器”,打开 IIS 后停止服务,然后在左侧“你需要支持PHP的Web站点”比如“默认Web站点”上单击右键选择“属性”,在打开的“ Web 站点属性”窗口的“ISAPI 筛选器”标签里找到并点击“添加”按钮,在弹出的“筛选器属性”窗口中的“筛选器名称”栏中输入:PHP ,再将可执行文件指向 php5isapi.dll 所在路径,如:C:\php\php5isapi.dll 。
    打开“Web 站点属性”窗口的“主目录”标签,找到并点击“配置”按钮,在弹出的“应用程序配置”窗口中找到并点击“添加”按钮,在弹出的窗口中新增一个扩展名映射,扩展名为 .php ,单击“浏览”将可执行文件指向 php5isapi.dll 所在路径,如:C:\php\php5isapi.dll,然后一路确定即可。如果还想支持诸如 .php3 ,.phtml 等扩展名的 PHP 文件,可以重复“添加”步骤。
    再打开“Web 站点属性”窗口的“文档”标签,找到并点击“添加”按钮,向默认的 Web 站点启动文档列表中添加 index.php 项。您可以将 index.php 升到最高优先级,这样,访问站点时就会首先自动寻找并打开 index.php 文档。
    确定 Web 目录的应用程序设置和执行许可中选择为纯脚本,然后关闭 Internet 信息服务管理器,在命令提示符中执行如下命令:
    net stop w3svc
    net stop iisadmin
    net start w3svc
    然后在“Internet 服务管理器”左边的“WEB服务扩展”中设置ISAPI 扩展允许,Active Server Pages 允许
    打开浏览器,输入:http://localhost/,看到成功页面后,在 IIS 根目录下新建一个 phpinfo.php ,内容如下:
    <?php phpinfo(); ?>


    二、安装 MySQL :

    如果你下载的是 Windows Essentials (x86) ,将得到 mysql-4.1.11-essential-win.exe ,直接双击安装即可。这里本人安装到C:\Inetpub\MySQL,安装过程中会提示你是不是立即进行配置,选择否即可完成安装。
    安装完毕后,在“开始”菜单的“运行”中输入:C:\Inetpub\MySQL\bin\mysqld-nt -install ,运行成功之后再输入:net mysql start ,将会启动 MySQL 服务;如果你还想较详细的配置 MySQL ,就请进入 C:\Inetpub\MySQL\bin 目录,运行 MySQLInstanceConfig.exe ,按提示操作即可。
    如果你下载的是 Windows (x86) ,解压后双击执行 Setup.exe 即可,步骤同上。
    如果你下载的是 Without installer (unzip in C:\) ,直接解压到C:\Inetpub\MySQL,在“开始”菜单的“运行”中输入: C:\Inetpub\MySQL\bin\mysqld-nt.exe ,运行成功之后再输入:net mysql start ,即可启动 MySQL 服务。

    为MYSQL设置密码,确保安全:
    一般菜单里面有配置向导MySQL Server Instance Config Wizar,运行后按下面步骤配置设置ROOT密码即可。
    ROOT密码,建议社设置复杂点,确保服务器安全!
    也可以在MySQL Command Line Client里面用命令配置:
    首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
    修改密码。
    格式:mysqladmin -u 用户名 -p 旧密码 password 新密码
    例:给root加个密码maybb.net首先在DOS下进入目录mysql\bin,然后键入以下命令
    mysqladmin -uroot -password maybb.net
    注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
    然后执行:
    SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('maybb.net');
    这里的命令是由于MySQL 4.1 及其后版本验证协议使用的密码哈希算法与老的客户端不兼容,在PHPMYADMIN里用正确密码登陆也会提示:Client does not support authentication protocol quested
    by server; consider upgrading MySQL client ,所以是为后面正确使用PHPMYADMIN做准备。
    这样ROOT密码就设置为maybb.net了.

    三、安装 Zend Optimizer :

    下载后得到 ZendOptimizer-2.5.7-Windows-i386.exe ,直接双击安装即可,安装过程要你选择 Web Server 时,选择 IIS ,然后提示你是否 Restart Web Server,选择是,完成安装之前提示是否备份 php.ini ,点确定后安装完成。需要注意的是:如果您的PHP是4.3以上版本,那么就不要用缺省安装,而应该用定制安装并选择 PHP的版本为PHP 4.3.X,方能正确安装,否则会说版本不支持。
    我这里安装到C:\Inetpub\Zend

    Zend Optimizer 的安装向导会自动根据你的选择来修改 php.ini 帮助你启动这个引擎。下面简单介绍一下 Zend Optimizer 的配置选项。以下为本人安装完成后 php.ini 里的默认配置代码(分号后面的内容为注释):
    zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll"
    ;Zend Optimizer 模块在硬盘上的安装路径。
    zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.7"
    ;优化器所在目录,默认无须修改。
    zend_optimizer.optimization_level=15
    ;优化程度,这里定义启动多少个优化过程,默认值是 15 ,表示同时开启 10 个优化过程中的 1-4 ,我们可以将这个值改为 1023 ,表示开启全部10个优化过程。

    调用phpinfo()函数后显示:
    This program makes use of the Zend Scripting Language Engine:
    Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
    with Zend Extension Manager v1.0.9, Copyright (c) 2003-2005, by Zend Technologies
    with Zend Optimizer v2.6.0, Copyright (c) 1998-2005, by Zend Technologies
    则表示安装成功。

    四、安装GD库

    这一步在前面PHP.INI配置中实际上已经安装好了~
    在php.ini里找到 "extension_dir",然后将路径指向extension,如下(假设你的php安装路
    径为:C:\Inetpub\php,设置extension_dir = "C:\Inetpub\php\ext",完成这步后,在php.ini里找到"extension=php_gd2.dll"这一行,并且去掉前面的分号,gd库安装完成,用echo phpinfo();测试是否成功!


    五、安装 phpMyAdmin:

    下载得到 phpMyAdmin-2.6.0.zip ,将其解压到 IIS 根目录,找到并打开 config.inc.php ,做以下修改:

    搜索 $cfg['PmaAbsoluteUri'],设置你的phpmyadmin的URL,如:$cfg['PmaAbsoluteUri'] = 'http://localhost/phpmyadmin/'; 注意这里假设phpmyadmin在默认站点的根目录下
    搜索 $cfg['blowfish_secret'],设定好root密码后这里也要填写比如ROOT密码maybb.net则设置为$cfg['blowfish_secret'] = 'maybb.net';
    搜索 $cfg['DefaultLang'] ,将其设置为 zh-gb2312 ;
    搜索 $cfg['DefaultCharset'] ,将其设置为 gb2312 ;
    搜索 $cfg['Servers'][$i]['auth_type'],默认为config,是不安全的,不推荐,推荐使用cookie,将其设置为 $cfg['Servers'][$i]['auth_type'] = 'cookie';
    注意这里如果设置为config请在下面设置用户名和密码!例如:
    $cfg['Servers'][$i]['user'] = 'root'; // MySQL user-----MySQL连接用户
    $cfg['Servers'][$i]['password'] = 'maybb.net';

    打开浏览器,输入:http://localhost/phpMyAdmin/ ,若 IIS 和 MySQL 均已启动,输入用户ROOT密码maybb.net即可浏览数据库内容。


    IIS+PHP+MYSQL

    今日配置PHP+MYSQL+IIS,找了一些文章,都不得法,最后找了本文,很方便,关健在于配置ISS时,对.php扩展名的解释动态库是指向谁,有些文章是指向php.exe,而正确的是指向:php4isapi.dll 这个文件,切记

    配置运行PHP的环境(IIS+PHP+MYSQL)


    目的:配置运行PHP的环境(IIS+PHP+MYSQL+CF+Perl)支持php+cgi+asp+jsp等
    操作系统:windows2000 advance server(sp3)简体中文版
    需要相关软件:
    一:php-4.3.0-Win32.zip ,到相应站点下载,我上传文件不方便,以下同。
    二:ActivePerl-5.6.1.635-MSWin32-x86.msi ,注意,必须下载安装文件,就是说.msi的,不要下原代码了,我也不会弄原代码,加装这个支持cgi,如果你不想支持cgi也可以不下载这个安装
    三:mysql-4.0.7-gamma-win.zip
    四:MM ColdFusion MX(有没有这个无所谓拉,我也是装着玩的,主要是支持PHP+MYSQL)

    一切都以我机子上目录为标准,假定你机子上L:\WEB为你的站点根目录

    将php-4.3.0-Win32.zip解压缩到L:\php目录下
    复制php目录下php4ts.dll到winnt\system32目录下
    0、复制php.ini.dist到winnt目录下,并将扩展名.dist去掉,得到php.ini文件,用记事本打开修改两个参数:
    1.搜索extension_dir ,将其指向你的PHP的extensions目录,比如我是L:\PHP\extensions,我这样修改:
    extension_dir = L:\PHP\extensions 这些等你想支持一些扩展库的时候可以修改extension
    保存php.ini

    安装mysql:
    打开mysql-4.0.7-gamma-win.zip压缩包
    双击setup.exe运行程序,在安装过程中注意选择mysql的安装目录(当然,你要默认目录也可以),比如我安装在L:\mysql目录下
    运行L:\mysql\bin\mysqld-nt.exe ,其实一般安装完成后系统都自动启动服务了,如果不放心到"服务"看一下mysql是否启动

    安装M$ Office ,不知道要不要安装这东西才支持asp我就不知道了,反正我装完系统后就全部安装office了,呵呵,估计没装也支持asp,(如果你不想它支持asp可以不去管它)

    安装perl解释器:
    运行ActivePerl-5.6.1.635-MSWin32-x86.msi,安装过程中选择L:\perl目录,当然你要默认也行。

    装MM的ColdFusion MX,我是装到L:\ColdFusionMX目录下了

    配置服务器,嘿嘿,写到这边不得不开photoshop弄图了,说不好说

    点击 开始-》程序-》管理工具-》Internet 服务管理器

    单击"默认 web 站点",然后右键单击它,选择"属性",打开对话框


    单击"主目录",做如下设置:在"本地路径"中选择你的机子上要作为站点根目录的文件夹,比如我的是L:\WEB,如下图:然后点击右下方的"配置",弹出新的对话框


    在新的对话框中选择"添加"


    在可执行文件中浏览选择L:\php\sapi\php4isapi.dll,注意在浏览对话框中文件类型要选择*.dll,不然看不到L:\php\sapi\目录下的.dll文件哦,选定后在扩展名中输入.php ,如下图:


    单击确定


    如上方法在添加L:\perl\bin\perlis.dll,设置扩展名为.cgi (这是我自己研究的,装支持cgi的时候我没看任何资料,如php一样依样画葫芦,呵呵),如下图设置,单击确定就OK了


    最后一步设置默认文件,就是index.php拉什么的,如下图,设置好后一路确定后关闭"Internet 服务管理器"


    好象这样就可以了哦,测试一下php拉,其他各位自己写程序测试咯,建个info.php的文件,保存在你的web根目录下,用记事本打开,复制下列内容保存:


    phpinfo();
    ?>

    如果一切顺利的话会见到如下页面:

    最后祝大家PHP玩得愉快,嘿嘿

    另外,在装完MM CFMX后,站点会自动停止,请启动它,还有一个要修改的是:
    找到L:\CFusionMX\db\slserver52\admin目录下的setcp.bat,在当前目录创建它的快捷方式,记住文件名也是setcp.bat哦,然后在右键点击快捷方式,选属性,在目标后面加上空格和大写的OS,然后点确定就OK了,
    如:L:\CFusionMX\db\slserver52\admin\setcp.bat OS
    这个是解决乱码问题,朋友告诉我的,修改后重起计算机就OK了。

    后记:很多人说调试不成功,显示类似于这些的信息:
    Warning: Unknown(D:\www\phpinfo.php): failed to create stream: No such file or directory in Unknown on line 0
    Warning: Unknown(): Failed opening 'D:\www\phpinfo.php' for inclusion (include_path='.;c:\php4\pear') in Unknown on line 0

    那是你info.php这个文件错误,扩展名不是真正的.php,而是.txt文件,只有显示扩展名才能去掉.txt

    July 03

    锅包肉

    锅包肉
      
      特点:酸甜适度,外焦里嫩,肉质松软,滋味十足!
     
    原料:猪里脊肉300克 姜丝5克 葱丝20克 香菜10克 精盐、料酒、酱油、白糖、醋、味精、鲜汤、水淀粉、色拉油各适量。
      
      制法:
     
    1.猪里脊肉改刀成7厘米长、5厘米宽、0.2厘米厚的大片,用精盐、料酒拌匀码味;用水淀粉及少许色拉油调成稠糊;另用酱油、白糖、醋、味精、鲜汤、水淀粉等对成滋汁。
    2.炒锅置火上,放入色拉油烧至六七成热,先将码好味的肉片与稠糊拌匀,再一片片展开,逐一下入锅中,炸至外酥内嫩时捞出沥油。
    3.锅留底油,投入姜丝、葱丝炸香,下入炸好的肉片,烹入滋汁,翻拌均匀后起锅装盘,撒上香菜即成。
    个人体会:最好:(1)切肉时切戕茬,炸之前先用刀把肉拍松;(2)炸两遍,第一遍不要太焦,在挂作料前,再炸一遍,趁热下锅
    June 30

    几种对健康不利的食物搭配

    红枣带鱼粥(红枣+鱼+葱):红枣性平,能滋补脾胃,益气养血,与鱼葱同食会导致消化不良
    五香茶叶蛋(茶叶+鸡蛋):浓茶中含有较多的单宁酸,单宁酸能使物质中的蛋白质变成不易消化的凝固物质,影响人体对蛋白质的吸收利用。
    冬瓜鲫鱼汤(鲫鱼+冬瓜):鲫鱼性温味甘,和胃补虚,消肿去毒,利水通乳,但若与冬瓜同食会使身体脱水。
    西红柿黄瓜炒鸡蛋(黄瓜+西红柿):西红柿含大量维生素C,有增强机体抵抗力、防治坏血病、抗感染等作用。而黄瓜中含有维生素C分解酶,同食可使其中的维生素C遭到破坏。
    酸辣黄瓜拌凉粉(黄瓜+辣椒):黄瓜含维生素C分解酶,会使辣椒中的维生素C遭到破坏,降低其营养价值
    菠菜豆腐羹(菠菜+豆腐):豆腐里含有氯化镁、硫酸钙这两种物质,而菠菜中则含有草酸,两种食物遇到一起可生成草酸镁和草酸钙,不能被人体吸收。

    皮蛋瘦肉粥

    煮粥用料:瘦肉1块(猪腱肉最好),皮蛋2个(无铅皮蛋,一则健康些,二则石灰味没那么大),姜1块,水足量,油盐适量
    1,挑米:煮粥用的米最好用东北大米,就是圆圆短短的珍珠米,煮出的粥特别绵软;
    2,煮粥的米要预先腌:约半碗米淘洗干净后,要用2汤匙的油、1个半茶匙的盐和少许水(2茶匙)拌匀,腌至少半小时,放心,虽然用了很多油,但是油会在煮粥的过程中挥发,令米绵烂,所以并不油腻的
    3,煮粥的肉要先用沸水煮煮去腥,或腌成咸肉:煮粥用瘦肉或腌的咸瘦肉,不必太考究是猪的哪一块肉,总之要保持一整块肉块不要切开(我一般用大约巴掌大,1-2厘米厚的一块猪肉,如果条件许可,用猪腱肉更好味)。如果用瘦肉煮粥,那么要先用沸水把瘦肉略略煮煮,然后洗净;如果喜欢用腌的咸猪肉煮粥,那么要提前一天腌咸猪肉,方法如下:猪肉一块,冲洗干净,抹干,撒2-3茶匙盐,均匀涂抹在肉上,放冰箱下格(就是不会冻成冰的保鲜格)腌12小时或更长时间才可以入味;
    4,煮粥的水要充分沸腾才下材料:大汤锅中放很多水,煮沸,才放材料。先下肉块、姜片,火不要关小,肉块到了沸水中,外面的部分遇热而熟硬,封住了里面的肉汁,这样肉煮了粥后也不难吃,然后待水再次沸腾时下腌好的米和一个切碎的皮蛋,而这第一个皮蛋切碎下粥与米同煮,皮蛋会融化,融入粥的味道中
    5,先大火,后小火,火候要足:水沸了,下了材料后,先大火煮20分钟,然后再转小火煮1个半小时,火候足,粥就绵软入味而且容易消化;
    6,粥的质感处理:在转小火煮了1个半小时后,把第二个皮蛋也切碎,同时把煮在粥中的瘦肉捞出来,用筷子扒拉,撕成丝丝状,跟第二个皮蛋一起放回粥中,同煮最后半小时,然后关火。第二个皮蛋在关火前半小时加入粥中,半小时可将第二个皮蛋煮得既没有石灰味,同时又变软滑,吃粥时也能吃到有皮蛋,而肉因为是水沸时下的,还保持了一定鲜味,撕成丝后放回粥中,特别好吃。

    一个不错的asp分页类

    <%
    '===================================================================
    '使用说明
    '程序参数说明
    'PapgeSize      定义分页每一页的记录数
    'GetRS       返回经过分页的Recordset此属性只读
    'GetConn      得到数据库连接
    'GetSQL       得到查询语句
    '程序方法说明
    'ShowPage      显示分页导航条,唯一的公用方法
    '
    '例:
    '
    '   '包含文件
    '
    ' Set mypage=new xdownpage   '创建对象
    ' mypage.getconn=conn    '得到数据库连接
    ' mypage.getsql="select * from productinfo order by id asc"
    ' mypage.pagesize=5    '设置每一页的记录条数据为5条
    ' set rs=mypage.getrs()    '返回Recordset
    ' mypage.showpage()    '显示分页信息,这个方法可以,在set rs=mypage.getrs()以后
    '        任意位置调用,可以调用多次
    ' for i=1 to mypage.pagesize    '接下来的操作就和操作一个普通Recordset对象一样操作
    '  if not rs.eof then   '这个标记是为了防止最后一页的溢出
    '   response.write rs(0) & "
    '" '这里就可以自定义显示方式了
    '   rs.movenext
    '  else
    '   exit for
    '  end if
    ' next
    '
    '===================================================================
    Const Btn_First="<font face='webdings'>9</font>"  '定义第一页按钮显示样式
    Const Btn_Prev="<font face='webdings'>3</font>"  '定义前一页按钮显示样式
    Const Btn_Next="<font face='webdings'>4</font>"  '定义下一页按钮显示样式
    Const Btn_Last="<font face='webdings'>:</font>"  '定义最后一页按钮显示样式
    Const XD_Align="Center"     '定义分页信息对齐方式
    Const XD_Width="100%"     '定义分页信息框大小
    Class Xdownpage
    Private XD_PageCount,XD_Conn,XD_Rs,XD_SQL,XD_PageSize,Str_errors,int_curpage,str_URL,int_totalPage,int_totalRecord

    '=================================================================
    'PageSize 属性
    '设置每一页的分页大小
    '=================================================================
    Public Property Let PageSize(int_PageSize)
     If IsNumeric(Int_Pagesize) Then
      XD_PageSize=CLng(int_PageSize)
     Else
      str_error=str_error & "PageSize的参数不正确"
      ShowError()
     End If
    End Property
    Public Property Get PageSize
     If XD_PageSize="" or (not(IsNumeric(XD_PageSize))) Then
      PageSize=10    
     Else
      PageSize=XD_PageSize
     End If
    End Property
    '=================================================================
    'GetRS 属性
    '返回分页后的记录集
    '=================================================================
    Public Property Get GetRs()
     Set XD_Rs=Server.createobject("adodb.recordset")
     XD_Rs.PageSize=PageSize
     XD_Rs.Open XD_SQL,XD_Conn,1,1
     If not(XD_Rs.eof and XD_RS.BOF) Then
      If int_curpage>XD_RS.PageCount Then
       int_curpage=XD_RS.PageCount
      End If
      XD_Rs.AbsolutePage=int_curpage
     End If
     Set GetRs=XD_RS
    End Property
    '================================================================
    'GetConn  得到数据库连接
    '
    '================================================================
    Public Property Let GetConn(obj_Conn)
     Set XD_Conn=obj_Conn
    End Property
    '================================================================
    'GetSQL   得到查询语句
    '
    '================================================================
    Public Property Let GetSQL(str_sql)
     XD_SQL=str_sql
    End Property
     
    '==================================================================
    'Class_Initialize 类的初始化
    '初始化当前页的值
    '
    '==================================================================
    Private Sub Class_Initialize
     '========================
     '设定一些参数的黙认值
     '========================
     XD_PageSize=10  '设定分页的默认值为10
     '========================
     '获取当前面的值
     '========================
     If request("page")="" Then
      int_curpage=1
     ElseIf not(IsNumeric(request("page"))) Then
      int_curpage=1
     ElseIf CInt(Trim(request("page")))<1 Then
      int_curpage=1
     Else
      Int_curpage=CInt(Trim(request("page")))
     End If
     
    End Sub
    '====================================================================
    'ShowPage  创建分页导航条
    '有首页、前一页、下一页、末页、还有数字导航
    '
    '====================================================================
    Public Sub ShowPage()
     Dim str_tmp
     
     int_totalRecord=XD_RS.RecordCount
     If int_totalRecord<=0 Then
      str_error=str_error & "总记录数为零,请输入数据"
      Call ShowError()
     End If
     If int_totalRecord<=PageSize then
      int_TotalPage=1
     Else
      If int_totalRecord mod PageSize =0 Then
       int_TotalPage = CLng(int_TotalRecord / XD_PageSize)
      Else
       int_TotalPage = CLng(int_TotalRecord / XD_PageSize)+1
      End If
     End If
     
     If Int_curpage>int_Totalpage Then
      int_curpage=int_TotalPage
     End If
     
     '==================================================================
     '显示分页信息,各个模块根据自己要求更改显求位置
     '==================================================================
     response.write ""
     str_tmp=ShowFirstPrv
     response.write str_tmp
     str_tmp=showNumBtn
     response.write str_tmp
     str_tmp=ShowNextLast
     response.write str_tmp
     str_tmp=ShowPageInfo
     response.write str_tmp
     
     response.write ""
    End Sub
    '====================================================================
    'ShowFirstPrv  显示首页、前一页
    '
    '
    '====================================================================
    Private Function ShowFirstPrv()
     Dim Str_tmp,int_prvpage
     If int_curpage=1 Then
      str_tmp=Btn_First&" "&Btn_Prev
     Else
      int_prvpage=int_curpage-1
      str_tmp="<a href="&GetURL&"1>"&Btn_First&"</a> <a href="&GetURL&(Int_curpage-1)&">"& Btn_Prev&"</a>"
     End If
     ShowFirstPrv=str_tmp
    End Function
    '====================================================================
    'ShowNextLast  下一页、末页
    '
    '
    '====================================================================
    Private Function ShowNextLast()
     Dim str_tmp,int_Nextpage
     If Int_curpage>=int_totalpage Then
      str_tmp=Btn_Next & " " & Btn_Last
     Else
      Int_NextPage=int_curpage+1
      str_tmp="<a href="&GetURL&(Int_curpage+1)&">"&Btn_Next&"</a> <a href="&GetURL&int_totalpage&">"& Btn_Last&"</a>"
     End If
     ShowNextLast=str_tmp
    End Function

    '====================================================================
    'ShowNumBtn  数字导航
    '
    '
    '====================================================================
    Private Function showNumBtn()
     Dim i,str_tmp
     For i=1 to int_totalpage
      str_tmp=str_tmp & "[<a href="&GetURL&i&">"&i&"</a>] "
     Next
     showNumBtn=str_tmp
    End Function

    '====================================================================
    'ShowPageInfo  分页信息
    '根据要求自行修改
    '
    '====================================================================
    Private Function ShowPageInfo()
     Dim str_tmp
     str_tmp="页次:"&int_curpage&"/"&int_totalpage&"页 共"&int_totalrecord&"条记录 "&XD_PageSize&"条/每页"
     'str_tmp=""
     ShowPageInfo=str_tmp
    End Function
    '==================================================================
    'GetURL  得到当前的URL
    '更据URL参数不同,获取不同的结果
    '
    '==================================================================
    Private Function GetURL()
     Dim strurl,str_url,i,j,search_str,result_url
     search_str="page="
     
     strurl=Request.ServerVariables("URL")
     Strurl=split(strurl,"/")
     i=UBound(strurl,1)
     str_url=strurl(i)'得到当前页文件名
     
     str_params=Request.ServerVariables("QUERY_STRING")
     If str_params="" Then
      result_url=str_url & "?page="
     Else
      If InstrRev(str_params,search_str)=0 Then
       result_url=str_url & "?" & str_params &"&page="
      Else
       j=InstrRev(str_params,search_str)-2
       If j=-1 Then
        result_url=str_url & "?page="
       Else
        str_params=Left(str_params,j)
        result_url=str_url & "?" & str_params &"&page="
       End If
      End If
     End If
     GetURL=result_url
    End Function
    '====================================================================
    ' 设置 Terminate 事件。
    '
    '====================================================================
    Private Sub Class_Terminate 
     XD_RS.close
     Set XD_RS=nothing
    End Sub
    '====================================================================
    'ShowError  错误提示
    '
    '
    '====================================================================
    Private Sub ShowError()
     If str_Error <> "" Then
      Response.Write("" & SW_Error & "")
      Response.End
     End If
    End Sub
    End class
    %>