我的最新日志

  • 第一个留言本程序

    2007-10-03

         开始学习PHP,以前用的是安装包,很容易出现各种各样的问题,于是便开始尝试着自己配置,花了两天时间终于配置成功,其间酸楚不足为外人道也,通过自己的尝试学到了很多东西,这两天又想在自己的电脑上运行一个留言本程序,通过排错纠错,终于在群里几位大哥的帮助下运行通过了这个简易留言本程序,呵呵,这年头什么都不容易啊!

    <!--sys_conf.inc:系统配置文件-------->
    <?php
    $DBHOST="localhost";
    $DBUSER="root";
    $DBPWD="123456";
    $DBNAME="my_chat";
    ?>

    数据库:

    CREATE DATABASE 'my_chat';
    CREATE TABLE 'chat'(
    'cid' INT NOT NULL AUTO_INCREMENT,
    'author' VARCHAR(50) NOT NULL,
    'create_time' TIME NOT NULL,
    'text' BLOB NOT NULL,
    PRIMARY KEY('cid')
    );

    聊天室用户登录页面:

    <!--login.php:MY 聊天室用户登录页面------->
    <html>
      <head>
        <title>用户登录</title> 
      </head>
      <body>
        <center>
        <h1>欢迎来到MY聊天室</h1>
        <h2>请输入您的昵称</h2>
        <form action="main.php"  method="POST" target="_self">
           <input type="text" name="nick" cols="20">
           <input type="submit" value="登录">
         </form>
         </center>
          
      </body>

    </html>

    聊天室主页面:

    <?php
        session_start();
        $user_name=$_POST["nick"];
        session_register("user_name");
        ?>
       
    <!--chat.php:MY 聊天室主页面------->
    <html>
       <title>MY聊天室主页面</title>
          <frameset rows="80%,*">
          <frame src="chat_display.php" name="chat_display">
          <frame src="speak.php" name="speak">
         </frameset><noframes></noframes>
    </html>

    用户发言页面:

    <?php
    session_start();
    ?>
    <!--speak.php;用户发言页面--->

     

    <html>
       <head>
           <title>发言</title>
       </head>
       <body>
         <?php
     print_r($_POST);
        require_once("sys_conf.inc");
       
        if($_POST["text"])
        {
          $text = $_POST["text"];
          $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
      
      
       mysql_select_db($DBNAME);
      
       $time=date("h:i:s");
       $author=$_SESSION["user_name"];
     
      
       $str="INSERT INTO chat
          (create_time,author,text) values('$time','$author','$text');";
      
       mysql_query($str,$link_id);
       mysql_close($link_id);
        } 
        ?>
        <!--输入发言的表单-->
        <form action="speak.php"  method="post" target="_self">
           <input type="text"  name="text"  cols="20">
        <input type="submit" value="发言">
      </form>
     </body>
    </html>

    显示留言页面:

    <!--chat_display.php:  显示留言页面-->
    <html>
       <head>
          <title>显示用户留言 </title>
          <meta http-equiv="refresh" content="5";
      url=chat_display.php">

       </head>
       <body>
          <?php
          require_once("sys_conf.inc");
          $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);
          mysql_select_db($DBNAME);
          $str="select * from chat ORDER BY create_time;";
          $result=mysql_query($str,$link_id);
          $rows=mysql_num_rows($result);
          @mysql_data_seek($result,$rows-15);
          if($rows<15)
          $l=$rows;
          else
          $l=15;
          for($i=1;$i<=$l;$i++)
          {
           list($cid,$author,$create_time,$text)=mysql_fetch_row($result);
           echo $create_time;
           echo "";
            echo"[".$author."]";
            echo":";
            echo $text;
            echo"<BR>";
    }
      @mysql_data_seek($result,$rows-20);
      list($limitime)=mysql_fetch_row($result);
      $str="DELETE FROM chat WHERE create_time<'$limitime';";
      $result=mysql_query($str,$link_id);
      mysql_close($link_id);
      ?>
      </body>
      
    </html>

    在调试过程中总是出现NOTICE错误,于是在php.ini里删除掉error_reporting =E_ALL
    并将error_reporting = E_ALL & ~E_NOTICE前的逗号去掉了,重启服务器,终于实现了,今天真是高兴啊!   
       
     

     


     

  • 转帖:IIS与Apache共用80端口方法

    2007-9-28





    为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法……

      

      为调试程序,本机安装iis与apache,无法同时使用80端口,现给出解决方法:

    方法一:

      IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址 c:\Inetpub\Adminscrīpts cscrīpt adsutil.vbs set w3svc/disablesocketpooling true

    该命令反馈如下disablesocketpooling : (BOOLEAN) True

    重启IIS

    Inetpub\Adminscrīpts>cscrīpt adsutil.vbs set w3svc/disablesocketpooling true

    由于 DisableSocketPooling 在 IIS 6.0 元数据库架构 (MBSchema.xml) 中被定义为有效属性,所以,您仍然可以使用 Adsutil.vbs 设置该属性,但这种设置不起作用。IIS 6.0 中的功能是新增的核心级别驱动程序 http.sys 的一部分。要配置 http.sys,您必须使用 httpcfg.exe

    方法二:

      IIS6,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2 原文地址

    到2003的CD下的 support/tools/Support.cab。解压出httpcfg.exe文件,COPY到windows/system32/目录下,用法自己看帮助

    命令行 绑定到某IP: httpcfg set iplisten -i 192.168.0.1 即命令使用IIS的只监听指定的IP及端口 查看绑定: httpcfg query iplisten  删除绑定: httpcfg delete iplisten -i 192.168.0.1

    命令行
    net stop Apache2 net stop iisadmin /y net START Apache2 net START w3svc

    保证iis下的ip设置为全局默认,Apache中httpconf设置listen 192.168.0.2:80,就应该可以两个服务同时运行,相互不冲突了。

    IIS的访问地址为http://192.168.0.1,Apache访问地址为http://192.168.0.2

    方法三:

      网上常用的单IP共用80端口方法,不过不推荐,只是使用Apache的代理,速度有影响将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理。

    在httpd.conf里面,取消下面四行的注释:
    LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

    然后建立一个虚拟主机,将该域名的所有访问转向81端口。
    ServerName iloves.vicp.net ProxyPass / http://localhost:81/ ProxyPassReverse / http://localhost:81/

    这样,对外就可以只需要一个端口,即可同时使用apache和IIS的功能了  

    类推,使用第二种方法,你可以在IIS上配置PHP4,Apache2中配置PHP5,只需要IIS中安装PHP4,把php.ini复制到\ windows目录即可,这个就不用说了吧,Apache2中,只要把PHP5的php.ini放在PHP5安装目录里面就行了

    配置Apache以支持PHP5:
    LoadModule php5_module "D:/PHPServer/PHP5/php5apache2.dll" AddType application/x-httpd-php .php DirectoryIndex index.html index.php PHPIniDir "D:/PHPServer/PHP5"

    其中最重要的一条就是 PHPIniDir,用来指明php.ini文件所在位置,即PHP5的安装目录,注意所有目录的应该改为D: /PHPServer/PHP5这种格式,而非D:\PHPServer\PHP5,IIS的访问地址为http://192.168.0.1, Apache访问地址为http://192.168.0.2
Open Toolbar