armok 发表于 2008-4-30 07:00:51

Apache_2.0.52+PHP5与oracle的配置指引

准备软件
      1.apache_2.0.52-win32-x86-no_ssl.msi   
      2.php-5.0.2-Win32.zip   
   
   
   
安装APACHE2.0.52
   
      1.将apache文件安装在e盘跟目录下,安装好后的目录格式如下E:\APACHE\APAHCE2   
   
      2.将E:\APACHE\APAHCE2\bin加入到win路径中   
   
      3.APACHE2基本命令      
          启动apache:          apache   -k   start      
          关闭apache   :         apache   -k   stop   
          重新启动apache:      apache   -k   restart         
          检查httpd.conf文件语法:apache   -t   
          查看apache所有命令:    apache   /?   
   
   4.在win2000下调试apache的时候尽量用命令方式,当出现错误的时候能够得到更多的提示   
   
安装PHP5
   
      1.将php-5.0.2-Win32.zip   解压到   E:\PHP   ,并加入到路径中   
      2.将E:\PHP\php5ts.dll   拷贝到   C:\WINNT\system32目录下(针对win2000系统)   
      3.配置apache的httpd.conf文件   

      配置内容      
          3.1.配置PHP5的apache模块      
            首先让我们找到如下所示的   DSO   列表.      
                  #   Dynamic   Shared   Object   (DSO)   Support   
                  #   
                  #   to   be   able   to   use   the   functionality   of   a   module   which   was   built   as   a   DSO   you   
                  #   have   to   place   corresponding   `LoadModule'   lines   at   this   location   so   the   
                  #   directives   contained   in   it   are   actually   available   _before_   they   are   used.   
                  #   Statically   compiled   modules   (those   listed   by   `httpd   -l')   do   not   need   
                  #   to   be   loaded   here.   
                  #   
                  #   Example:   
                  #   LoadModule   foo_module   modules/mod_foo.so   
   
                  这还有许多,一直找到最后一行:   
   
                  #LoadModule   ssl_module   modules/mod_ssl.so   
   
                  上面一行是该列表的最后一行,按回车产生一个空的行,在这个空行内加入下面这行:   
   
                  LoadModule   php5_module   E:/php/php5apache2.dll   
   
            3.2.配置CGI   directory   
   
                  首先找到   
                  <Directory   "E:/Apache/Apache2/cgi-bin">   
                        AllowOverride   None   
                        Options   None   
                        Order   allow,deny   
                        Allow   from   all   
                  </Directory>   
   
   
                  在“</Directory>”这行下面增加下面两行,使得apache能够解释后缀为php   .phtml   .php3   .php4   .php5的php文件.
                  AddType   application/x-httpd-php-source   .phps   的作用是不解释phps后缀的名字并且用彩色标注php源代码   
   
                  AddType   application/x-httpd-php   .php   .phtml   .php3   .php4   .php5   
                  AddType   application/x-httpd-php-source   .phps   
   
      4.将E:/PHP下的php.ini-recommended文件改名成php.ini,拷贝致C:\WINNT(win2000系统)   

      5.加载php_oci8.dll与php_oracle.dll使得php能购正常解释oracle的相关函数   
             5.1   将E:/PHP/ext目录下载的php_oci8.dll与php_oracle.dll文件拷贝致C:\WINNT\SYSTEM32   或者   
                   将“E:/PHP/ext”加入到路径;   
             5.2   修改php.ini中“;extension=php_oci8.dll”与“;extension=php_oracle.dll”将其改成   
                   “extension=php_oci8.dll”与“extension=php_oracle.dll”;   
             5.3   在调试程序过程中难免代码出现差错,但是php.ini默认并不将出错信息显示在ie上,那么只需要将   
                   “display_errors   =   off   ”改成“display_errors   =   on”便可在ie中显示错误信息。
                  (别忘记将ie设置成“显示友好hppt错误信息”);   
               

      注:修改php.ini文件后要重新启动,可以使用命令   “apache   -k   restart”;      
   
   
   
   
测试代码
   
date.php   
   
<?php   
$today   =   getdate();   
$month   =   $today;   
$mday   =   $today;   
$year   =   $today;   
echo   "$month   $mday,   $year";   
?>   
   
如果显示当日期那么恭喜配置成功!   


   
   
browser.php   
   
<?php   
$browser   =   getenv("HTTP_USER_AGENT");   
?>   
<P>You   are   using   the   <?php   echo($browser);?>   web   browser.</P>   
<?php   $title   =   "Browser   Details";   ?>   
<title><?php   echo   $title;   ?></title>   
   
如果显示内容为告诉你使用的是那浏览器那么恭喜配置成功!   
   

   
oracle.php   
   
   
<?php   
//以oracle816为例子连接本地数据库   
//PutEnv("ORACLE_SID=orcl");   
   
$connection   =   OCILogon   ("scott",   "tiger");   
if   ($connection   ==   false){   
      echo   OCIError($connection)."连接错误<br>";   
      exit;   
}         
else{echo   $connection."恭喜你oracle数据库连接成功!!!<BR>";   
}   
?>   
如果显示内容为恭喜你oracle数据库连接成功!!!那么说明oracle连接成功。




原文出处: http://topic.csdn.net/t/20041217/13/3654195.html 作者:leaof

armok 发表于 2008-4-30 07:10:38

上面的代码测试:

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_262552.jpg
(原文件名:SNAG-0006.jpg)

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_262553.jpg
(原文件名:SNAG-0007.jpg)



当我不做任何关于Oracle的配置时,提示以下的问题:

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_262554.jpg
(原文件名:SNAG-0008.jpg)

开始配置,在系统变量 path 里加入: C:\AppServ\Apache2.2\bin;

上面文档提到的类似 apache -k stop 改成 httpd -k stop ...

集成环境中,已经有了:LoadModule   php5_module   E:/php/php5apache2.dll这一句。

集成环境中,已经有了: <IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps
</IfModule>

将E:/PHP下的php.ini-recommended文件改名成php.ini,拷贝致C:\WINNT(win2000系统)? 集成环境 c:\windows目录已经有了php.ini

将E:/PHP/ext目录下载的php_oci8.dll与php_oracle.dll文件拷贝致C:\WINNT\SYSTEM32? 集成环境中竟然没有php_oracle.dll ,不理它了。

重启apache2.2

没有填写oracle的用户口令时,有反应了:
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_262556.jpg
(原文件名:SNAG-0009.jpg)

填写正确的口令,竟然连接成功了!
http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_262557.jpg
(原文件名:SNAG-0010.jpg)
页: [1]
查看完整版本: Apache_2.0.52+PHP5与oracle的配置指引