文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何集成Linux、Apache、PHP4、FastCGI、Oracle、MySQL环境

如何集成Linux、Apache、PHP4、FastCGI、Oracle、MySQL环境

时间:2007-02-17  来源:PHP爱好者

(作者:张宏 2000年10月30日 18:03)
 一. 准备工作
要实现将Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境集成,必需先准备好以下软件包: (一)数据库的Perl接口 1.perl5的Oracle数据库DBI驱动程序:DBD-Oracle-1.03.tar.gz 2.perl5的通用数据库接口程序:DBI-1.13.tar.gz 3.perl5的MySQL数据库DBI驱动程序:Msql-Mysql-modules-1.2209.tar.gz (二)Oracle数据库 4.Oracle 8iR2(8.1.6) for Linux安装盘:oracle8161.tar.gz (三)MySQL数据库 5.MySQL 3.22.32服务器程序包:MySQL-3.22.32-1.i386.rpm 6.MySQL客户端程序包:MySQL-client-3.22.32-1.i386.rpm 7.MySQL开发包(头文件/库文件):MySQL-devel-3.22.32-1.i386.rpm 8.MySQL共享库程序包:MySQL-shared-3.22.32-1.i386.rpm (四)Apache服务器 9.Apache 1.3.12源码包:apache_1.3.12.tar.gz (五)PHP模块 10.PHP 4.0.0源码包:PHP-4.0.0.tar.gz (六)FastCGI模块 11.FastCGI模块源码包:mod_fastCGI_2.2.4.tar.gz 12.FastCGI的perl开发模块:FCGI-0.53.tar.gz 二. 安装Oracle客户端
由于Oracle 8.1.6是在XWindows下安装的,所以必须是事先配置好XWindow,如果你的显卡不支持XWindow,也可以用exceed进行远程安装(这里不提远程如何安装)。 在此简单列出操作过程: (一)设置环境变量: 在/etc/profile中加入: export ORACLE_HOME=/opt/oracle8i/u01 export ORACLE_BASE=/opt/oracle8i export ORACLE_OWNER=oracle export ORACLE_SID=ORCL export ORACLE_TERM=ansi export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280" (二)建立oracle组和用户 #/usr/sbin/groupadd dba #/usr/sbin/useradd -g dba oracle #/usr/bin/passwd oracle (三)创建$ORACLE_HOME目录 #mkdir /opt #mkdir /opt/oracle8i #mkdir /opt/oracle8i/u01 #chown -R oracle.dba /opt (四)安装reacle 8iR2 以oracle用户登录,解开Oracle安装包: $tar zxvf oracle8161.tar.gz $startx 启动XWindow界面,并打开一个rxvt终端窗口 $cd Oracle8iR2 $./runInstaller 此时出现Oracle安装界面,在安装时选择安装client/Application User(如果Oracle服务器不在本机上运行,另有专用机器),安装完毕后配置SQL*Net8并测试连接远程服务器通过即可。 三. 安装MySQL服务器和客户端
以root身分进入,安装MySQL各个包: #rpm -ivh MySQL-3.22.32-1.i386.rpm #rpm -ivh MySQL-client-3.22.32-1.i386.rpm #rpm -ivh MySQL-devel-3.22.32-1.i386.rpm #rpm -ivh MySQL-shared-3.22.32-1.i386.rpm 四. 安装Perl的数据库接口模块
以root身分进入,然后执行: #tar zxvf DBI-1.13.tar.gz #cd DBI-1.13 #perl Makefile.PL #make #make test #make install #cd .. #rm -rf DBI-1.13 # #tar zxvf DBD-Oracle-1.03.tar.gz #cd DBD-Oracle-1.03 #perl Makefile.PL #make #make test #make install #cd .. #rm -rf DBD-Oracle-1.03 # #tar zxvf Msql-Mysql-modules-1.2209.tar.gz #cd Msql-Mysql-modules-1.2209 #perl Makefile.PL 选择1(MySQL)和y(支持Mysql.pm) #make #make test #make install # 五. 安装Apache PHP FastCGI
(一)解开Apache/PHP/FastCGI包: #tar zxvf apache_1.3.12.tar.gz #tar zxvf PHP-4.0.0.tar.gz #tar mod_fastCGI_2.2.4.tar.gz (二)编译PHP4 配置apache编译参数 #cd apache_1.3.12 #./configure --prefix=/usr/local/apache 配置PHP编译参数 #cd ../PHP-4.0.0 #./configure --with-apache=../apache_1.3.12 > --with-mysql > --with-oracle=$ORACLE_HOME > --with-oci8=$ORACLE_HOME > --enable-track-vars 编译PHP模块: #make #make install 创建PHP.ini参数文件 #cp PHP.ini-dist /usr/local/lib/PHP.ini #cd .. (三)添加FastCGI模块: #mv mod_fastCGI_2.2.4 apache_1.3.12/src/modules/fastCGI (四)编译安装Apache #cd apache_1.3.12 配置编译参数 #./configure --prefix=/usr/local/apache > --activate-module=src/modules/PHP4/libPHP4.a > --activate-module=src/modules/fastCGI/libfastCGI.a 编译Apache #make 安装Apache #make install (五)关闭原有系统自带的Apache #/etc/rc.d/init.d/httpd stop (六)配置Apache自身参数: 1.编辑/usr/local/apache/conf/httpd.conf文件,修改以下参数: ServerName host.mydomain.name DocumentRoot "/home/httpd/HTML" Options Indexes FollowSymLinks MultiViews Includes AllowOverride None Order allow,deny Allow from all ScriptAlias /CGI-bin/ "/home/httpd/CGI-bin/" AllowOverride None Options None Order allow,deny Allow from all DirectoryIndex index.HTML index.pHTML index.PHP index.htm index.sHTML index.fCGI 2.修改自启动链接 #cd /etc/rc.d/init.d #ln -fs /usr/local/apache/bin/apachectl httpd (七)配置PHP4.0参数: 1.修改/usr/local/apache/conf/httpd.conf文件,修改以下参数: 增加一行:AddType application/x-httpd-PHP .PHP .pHTML .PHP3 2.修改/usr/local/apache/bin/apachectl脚本,使启动支持中文ORACLE环境: 在文件中66行("start)")下面加入几行: export ORACLE_HOME=/opt/oracle8i/u01 export ORACLE_BASE=/opt/oracle8i export ORACLE_SID=ORCL export LD_LIBRARY_PATH=$ORACLE_HOME/lib export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280" 3.修改/usr/local/apache/conf/srm.conf以在CGI程序中使用环境变量: PassEnv ORACLE_HOME PassEnv ORACLE_BASE PassEnv LD_LIBRARY_PATH PassEnv NLS_LANG PassEnv ORACLE_SID PassEnv PATH (八)配置FastCGI执行环境: 1.修改/usr/local/apache/conf/httpd.conf文件,修改以下参数: 增加几行: ############ FastCGI Configures Begin ########################## AddHandler fastCGI-script .fcg .fCGI .fpl SetHandler fastCGI-script Order deny,allow Allow from all Options ExecCGI Indexes Includes ############### FastCGI Configure End ########################### 2.创建fCGI的执行目录 #mkdir /home/httpd/HTML/fCGI 3.安装FCGI的Perl运行模块: #tar zxvf FCGI-0.53.tar.gz #cd FCGI-0.53 #perl Makefile.PL #make #make install 六.启运并测试
1.启动Apache服务器: #/etc/rc.d/init.d/httpd start 2.编写PHP测试程序: 第一个测试程序:/home/httpd/HTML/t1.PHP; 第二个测试PHP与Oracle连接的PHP程序(表已经建好):查看是否为中文输出; 第三个测试PHP与MySQL连接的PHP程序(表已经建好)。 3. 编写FastCGI的测试代码: /home/httpd/HTML/fCGI/test.fCGI #!/usr/bin/perl use FCGI; use DBI; $dbname="oracle"; $user="user"; $passwd="password"; $dbh=""; while(FCGI::accept()>=0) { &parse_form(); $id=$FORM{"id"}; $para=$FORM{"para"}; print "Content-type: text/HTML "; print " "; if (!$dbh){ print "no oracle, need to connect "; $dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd); }else{ print "OK, oracle aleady connected "; } $sth=$dbh->prepare("select name from testtable where id=15"); $sth->execute; @recs=$sth->fetchrow_array; $sth->finish; print "参数id=".$id." and my name is @recs[0] "; print "参数para=".$para." "; } ####传入参数处理部分####### sub parse_form { my($buffer); my($pairs); my(@pairs); my($name); my($value); my $meth = $ENV{"REQUEST_METHOD"}; if ($meth eq "GET" || $meth eq "HEAD") { $buffer = $ENV{"QUERY_STRING"}; } elsif ($meth eq "POST") { read(STDIN, $buffer, $ENV{"CONTENT_LENGTH"}); } undef %FORM; @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/ / /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $value =~ s///g; if ($allow_HTML != 1) { $value =~ s/]| )*>//g; } $FORM{$name} = $value; } } 测试看看FastCGI是否正常执行了。 (转载自LinuxAid) 原作者:张宏 
来源:LinuxAid、赛迪网
php爱好者站 http://www.phpfans.net c/vc/c++/java.
相关阅读 更多 +
排行榜 更多 +
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载
<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

<img preview="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" width="32" height="32" src="http://pic.pdowncc.com/uploadimg/ico/2025/0523/1747993424374100.png" alt="弓箭勇者最新版" />

飞行射击 下载