ÕûºÏOracle 10g¡¢Apache 2.0¡¢PHP 5
¡¡¡¡»ù±¾½éÉÜ
¡¡¡¡2004Äê7ÔÂ13ÈÕ£¬PHP ¹Ù·½Õ¾µãÕýʽ·¢²¼ÁË PHP 5¡£Oracle ÔÚ 2004 Äê 8 ÔÂÐû²¼½«ÔÚÈÍ·²úÆ· Application Server ÖÐÌṩ¶Ô PHP µÄÖ§³Ö¡£ÏÈÊÇÔÚ Oracle Application Server 10g (9.0.4) Ìṩ mod_php Ä£¿é£¬¼Ì¶øÔÚOracle Application Server 10g Release 2 (10.1.2) ÖÐÌṩÁË PHP 4.3µÄ°æ±¾£¬½Ó×ÅOracle JDeveloper 10g Ò²½«Ìṩ¶Ô PHP À©Õ¹ÄÜÁ¦¡£ÏàÐÅ£¬²»¾Ã Oracle ½«Õýʽ֧³Ö PHP 5¡£¶øËæ×Å Oracle ¼¼ÊõÉçÇøµÄ´óÁ¦Íƹ㣬Ҳ½«Óиü¶àµÄ¿ª·¢ÈËÔ±ÀûÓà PHP ½øÐдóÐÍÊý¾Ý¿âÒýÓõĿª·¢¡£
¡¡¡¡ÔÚ OTN ÉÏÒѾÓÐÎĵµÃèÊöÈçºÎ½øÐÐ 10g / HTTPD 1.3/ PHP 4 µÄÕûºÏ¡£ËùÒÔÕâÆªÎĵµ½«ÃèÊöÈçºÎÕûºÏ Oracle 10g¡¢Apache (httpd 2)¡¢PHP 5¡£±ãÓÚ¿ìËÙµÄ×齨һ¸ö¿ª·¢»·¾³¡£Èç¹ûÄúÏë¶Ô PHP µÄһЩй¦ÄÜ(±ÈÈçPDO)½øÐÐÒ»ÏÂÌåÑ飬ÄÇô±¾ÎÄ¿ÉÒÔ×÷Ϊһ¸ö¿ª¶Ë¡£
¡¡¡¡Oracle¡¢Apache¡¢PHPÈýÕßÖ®¼äµÄ¹ØÏµ²»·Á½èÓÃÒ»ÏÂÕâÕÅʾÒâͼ(ÔͼµØÖ·)£º
¡¡¡¡Oracle Apache PHP relation
¡¡¡¡±¾Îļٶ¨ÄúµÄ Oracle 10g (·þÎñÆ÷»òÕ߿ͻ§¶Ë)ÒѾ°²×°Íê±Ï¡£Èç¹ûûÓа²×°£¬Çë²Î¿¼ÕâÆªÎĵµ£º
¡¡¡¡[url]www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm[/url]
¡¡¡¡È·¶¨×Ô¼ºµÄ Oracle ´¦ÓÚ¿ÉÓÃ״̬¡£
¡¡¡¡±¾ÎÄËùÓµµÄ²Ù×÷ϵͳΪ Fedora Core 3 Linux£¬Oracle °æ±¾Îª10 R1 (10.1.0.2)¡£
¡¡¡¡ÏÂÔØùÐèÎļþ£ºHTTPD ºÍ PHP 5
¡¡¡¡HTTPD - httpd://httpd.apache.org (ĿǰµÄ°æ±¾ÊÇ 2.0.52)
¡¡¡¡PHP 5 - [url]www.php.net[/url] (×îа汾ÊÇ 5.0.2)
¡¡¡¡°²×°HTTPD
¡¡¡¡ÐèҪ˵Ã÷µÄÊÇ£¬ÏÖÔÚ Apache ÉçÇø²»ÍƼö°Ñ Apache 2.0 ÓÃÔÚ²úÆ·»·¾³ÖÐ.
¡¡¡¡[root@FC3 software]# tar -zxvf httpd-2.0.52.tar.gz
¡¡¡¡[root@FC3 software]# cd httpd-2.0.52
¡¡¡¡[root@FC3 httpd-2.0.52]# ./configure --prefix=/usr/local/apache \ --enable-module=so
¡¡¡¡[root@FC3 httpd-2.0.52]# make clean
¡¡¡¡[root@FC3 httpd-2.0.52]# make
¡¡¡¡[root@FC3 httpd-2.0.52]# make install
¡¡¡¡[root@FC3 httpd-2.0.52]# /usr/local/apache/bin/apachectl start
¡¡¡¡[root@FC3 httpd-2.0.52]# /usr/local/apache/bin/apachectl stop
¡¡¡¡°²×°ËµÃ÷£ºµÚÈýÐÐÖ¸¶¨ Apache µÄ¼Ü¹¹¶ÀÁ¢µÄÎļþ°²×°Î»Öá£Í¬Ê±Ö¸¶¨½«ÓÃÄ£¿éµÄÐÎʽ¡£
¡¡¡¡Èç¹ûΪÁË·½±ãµÄ»°£¬¿ÉÒÔ´´½¨Á½¸ö½Å±¾¿ØÖÆ Apache µÄÆô¶¯Óë¹Ø±Õ¡£
¡¡¡¡[root@FC3 ~]# vi /bin/startapache
¡¡¡¡Ìí¼ÓÈçÏÂÄÚÈÝ£º
¡¡¡¡#!/bin/sh
¡¡¡¡ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1
¡¡¡¡ORACLE_SID=TEST
¡¡¡¡export ORACLE_HOME ORACLE_SID
¡¡¡¡echo Starting Apache
¡¡¡¡/usr/local/apache/bin/apachectl start
¡¡¡¡´´½¨¹Ø±Õ apache µÄ½Å±¾£º
¡¡¡¡[root@FC3 ~]# vi /bin/stopapache
¡¡¡¡Ìí¼ÓÈçÏÂÄÚÈÝ£º
¡¡¡¡#!/bin/sh
¡¡¡¡ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1
¡¡¡¡ORACLE_SID=TEST
¡¡¡¡export ORACLE_HOME ORACLE_SID
¡¡¡¡echo Starting Apache
¡¡¡¡/usr/local/apache/bin/apachectl stop
¡¡¡¡ÐÞ¸ÄÎļþȨÏÞ£º
¡¡¡¡[root@FC3 ~] chmod +x /bin/startapache /bin/stopapache
¡¡¡¡°²×° PHP 5
¡¡¡¡[root@FC3 software]# tar -xjf php-5.0.2.tar.bz2
¡¡¡¡[root@FC3 software]# cd php-5.0.2
¡¡¡¡[root@FC3 php-5.0.2]# export ORACLE_BASE=/u01/app/oracle
¡¡¡¡[root@FC3 php-5.0.2]# export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
¡¡¡¡[root@FC3 php-5.0.2]# export ORACLE_SID=TEST
¡¡¡¡[root@FC3 php-5.0.2]# export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
¡¡¡¡[root@FC3 php-5.0.2]# export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
¡¡¡¡[root@FC3 php-5.0.2]# ./configure --with-apxs2=/usr/local/apache/bin/apxs \
¡¡¡¡--with-oci8=$ORACLE_HOME
¡¡¡¡[root@FC3 php-5.0.2]# make clean
¡¡¡¡[root@FC3 php-5.0.2]# make
¡¡¡¡[root@FC3 php-5.0.2]# make install
¡¡¡¡[root@FC3 php-5.0.2]# cp php.ini-dist /usr/local/lib/php.ini
¡¡¡¡°²×°ËµÃ÷£ºµÚÈýµ½ÆßÐÐÆäʵÓÐЩÂÞàÂÁË£¬ÆäÄ¿µÄÊÇ¿ØÖÆ root Óû§µÄ»·¾³±äÁ¿£¬ÆäʵҲ¿ÉÒÔÖ±½ÓÔÚ root Óû§µÄ.bash_profileÎļþÖÐÖÆ¶¨»·¾³±äÁ¿¡£µ±È»ÁË£¬Ò²¿ÉÒÔÓà oracle Óû§À´½øÐÐ configure Óë make ¡£µÚ°ËÐÐÖÐµÄ --with-oci8=$ORACLE_HOME ¼¤»î oci8 Ö§³Ö¡£
¡¡¡¡½ÓÏÂÀ´ÐèÒªÐÞ¸Ähttpd.conf ÎļþµÄÄÚÈÝ£º
¡¡¡¡[root@FC3 php-5.0.2]# vi /usr/local/apache/conf/httpd.conf
¡¡¡¡Ìí¼ÓÈçÏÂÄÚÈÝ£º
¡¡¡¡LoadModule php5_module modules/libphp5.so
¡¡¡¡
¡¡¡¡AddType application/x-httpd-php .php
¡¡¡¡
¡¡¡¡ÖØÐÂÆô¶¯ apache:
¡¡¡¡[root@FC3 ]# /bin/stopapache
¡¡¡¡[root@FC3 ]# /bin/startapache
¡¡¡¡²âÊÔ PHP Ä£¿é
¡¡¡¡²âÊÔ PHP Ä£¿éÊÇ·ñÒѾ¿ÉÓᣵ±È»ÊDZê×¼°ì·¨£¬Ð´Ò»¸ö°üº¬ÈçÏÂÄÚÈݵÄPHPÒ³Ãæ info.php:
¡¡¡¡
¡¡¡¡´Óä¯ÀÀÆ÷Öв鿴¸ÃÒ³ÃæÊä³öÄÚÈÝ¡£
¡¡¡¡×¢Ò⣬¸ÃÒ³ÃæÖеÄÄÚÈÝ Configure Command ÄÇÒ»ÐÐÖеÄÄÚÈÝÊÇ·ñ°üÀ¨ÈçÏÂÄÚÈÝ£º
¡¡¡¡'--with-apxs2=/usr/local/apache/bin/apxs'
¡¡¡¡'--with-oci8=/u01/app/oracle/product/10.1.0/db_1'
¡¡¡¡×¢Ò⣺ÔÚ²âÊÔÖ®ºó£¬³öÓÚ°²È«µÄ¿¼ÂÇ£¬Çë°Ñ¸ÃÎļþɾ³ý
¡¡¡¡²âÊÔ PHP µÄ oci
¡¡¡¡Ð´Ò»¸ö¼òµ¥µÄÒ³Ãæ²âÊÔ oci ÊÇ·ñ¿ÉÓà (Just a copy sample from OTN)£º
¡¡¡¡
¡¡¡¡$db_conn = ocilogon( "scott", "tiger","TEST" );
¡¡¡¡$cmdstr = "select ename, sal from emp";
¡¡¡¡$parsed = ociparse($db_conn, $cmdstr);
¡¡¡¡ociexecute($parsed);
¡¡¡¡$nrows = ocifetchstatement($parsed, $results);
¡¡¡¡echo "";
¡¡¡¡echo "
Oracle PHP Test
";
¡¡¡¡echo "\n\ \n";
¡¡¡¡echo "
Name \n Salary \n
\n";
¡¡¡¡for ($i = 0; $i < $nrows; $i++ )
¡¡¡¡{
¡¡¡¡echo "
\n";
¡¡¡¡echo "
" . $results["ENAME"][$i] . " ";
¡¡¡¡echo "
$ " . number_format($results["SAL"][$i], 2)." ";
¡¡¡¡echo "
\n";
¡¡¡¡}
¡¡¡¡echo "
Number of Rows: $nrows
";
¡¡¡¡echo "If you see data, then it works!
\n";
¡¡¡¡?>
¡¡¡¡ËµÃ÷£ºÉÏÀýÖУ¬scott/tiger·Ö±ðΪÊý¾Ý¿âµÄÓû§Ãû×ÖºÍÃÜÂ룬TESTΪÊý¾Ý¿âÁ¬½Ó´®Ãû×Ö¡£
¡¡¡¡²Î¿¼Îĵµ
¡¡¡¡Installing Oracle, PHP, and Apache on Linux by Robert Clevenger
¡¡¡¡PHP:Apache 2.0 on Unix systems - [url]www.php.net/manual/en/install.unix.apache2.php[/url]
¡¡¡¡¸ü¶àÐÅÏ¢
¡¡¡¡Oracle Open Source Developer Center - [url]www.oracle.com/technology/tech/opensource/index.html[/url]
¡¡¡¡±¾ÎÄ×÷Õß
¡¡¡¡Fenng£¬Ä³ÃÀ×ʹ«Ë¾DBA£¬ÒµÓàʱ¼ä»ì¼£ÓÚ¸÷Êý¾Ý¿âÏà¹ØµÄ¼¼ÊõÂÛ̳ÇÒÀִ˲»Æ£¡£Ä¿Ç°¹Ø×¢ÈçºÎÀûÓÃORACLEÊý¾Ý¿âÓÐЧµØ¹¹½¨ÆóÒµÓ¦Ó᣶ÔOracle tuning¡¢troubleshootingÓÐÒ»µãÑо¿¡£
¡¡¡¡¸öÈ˼¼ÊõÕ¾µã:[url]www.dbanotes.net/[/url] ¡£¿ÉÒÔͨ¹ýµç×ÓÓʼþ [email]dbanotes@gmail.com[/email] ÁªÏµµ½Ëû¡£