为什么我的PHP无法加载php_oci8.dll和php_oracle.dll? 为什么就这么难呢?难道没有人做过?另外,有没有尝试过在Linux/Unix下连Oracle? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将oracle目录下的子目录BIN下的oci.dll拷贝到system32 PHP4连接Oracle 8i的方法:1. 下载并安装 Oracle 8i for linux. 完全安装,不要只安装客户端 下载地点:chat.hn.cninfo.net/soft的hot下载 2. 下载PHP3或PHP4源码 下载地点:www.php.net www.phpuser.com chat.hn.cninfo.net/soft 3. 配置PHP的安装参数 for php 4: ./configure --with-apxs=/usr/sbin/apxs \ --prefix=/usr \ --with-gd \ --enable-versioning \ --with-mysql=/usr \ --with-oracle=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5 \ --with-oci8=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5 \ --with-zlib \ --with-dbase \ --with-filepro \ --with-config-file-path=/etc/httpd/conf \ --with-fdftk=no \ --enable-debug=no \ --enable-magic-quotes \ --enable-debugger \ --enable-bcmath \ --enable-track-vars \ --enable-safe-mode \ --with-exec-dir=/usr/bin \ --with-system-regex \ --no-create \ --no-recursion --with-oracle 选项让php可以通过ORA_函数访问 Oracle 7.x 或8.x --with-oci8 选项让php可以使用更多更好的 oci8函数 4. make 5. make install 6. cp ./php.ini-dist /wherever/your/conf/files/are/php.ini 将php.ini拷贝到适当的位置 7. 修改httpd.conf 修改如下这一行 LoadModule php4_module lib/apache/libphp4.so 改为: LoadModule php4_module /usr/lib/apache/libphp4.so 8. 重新启动APACHE 9. 测试PHP4的安装是否成功 创建一个test.php3内容为: <? phpinfo(); ?> 在浏览器中访问它,看是否有ORACLE和ORACLE8的信息。 如果有的话,那么就恭喜你了! 10. 现在开始使用ORACLE的函数吧 <? // 设置ORACLE环境变量 putenv("ORACLE_SID=PROD"); putenv("ORACLE_HOME=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5"); // 建立连接 // 修改现在的user_id,password,db以适应你的配置 if( = OCILogon("user_id","password","db")) { // 取得数据库的信息 printf("%s</P>", OCIServerVersion()); } else { printf("Conncetion Failed"); } ?> 这段程序会显示出你所连接到的ORACLE的一些信息 12. 其它 如果你需要连接到远程的ORACLE服务器,你就还需要设置你的sqlnet.ora 和 tnsnames.ora 来指定远程数据库的位置。 向数据库管理员要求,拷贝一些文件放到 /network/admin/ 目录下 浅谈Windows下 PHP4.0与oracle 8的连接设置: PHP在Linux/Unix下连接oracle8是很容易的事,但在windows平台下实在不易,本人经过长久的摸索才找到可靠的方法,不敢独享, 现公布出来以飨大家。 笔者使用的开发环境: windows 98 第二版 php4.04pl1 apache 1.3.14 window版 oracle 8.05客户端 PHP以CGI方式安装完毕测试成功后。以以下代码测试 <?php $conn = OCILogon("cinmsiii","cinmsiii","(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom)))"); //$conn=OCILogon("cinmsiii","cinmsiii","cinms");如果oracle客户端是8.1.6i的话可以这样用,参数照上 if($conn!=false) { echo "ok"; OCILogoff($conn); } else echo "false"; ?> 关于连接参数问题: 连接串设为以下: (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom))) PROTOCOL:为使用的网络协议 HOST:为数据库服务器主机名 SID:为数据库的实例号 这样作后一般没有任何问题。 如果你的oracle 8客户端为 8.1.6i企业版,可以把这些参数设在连接串中,用 oracle8的net easy config实用工具设置。 将设置后的连接串名称作为连接串传入。 推测oracle 7.x也可以用此方法,因没有环境,未作测试,如果你有兴趣可以试试 截取字符串,长度不一样 PHP比ASP优秀的七个理由 HTML小游戏 拼接字符问题............. php打开localhost奇慢无比。代码见内!!! 刚接触php请问:为什么中文字符一输出都是乱码 现在我才明白,为什么我只能最多给三十几分 问下大神们,做这种类似网站需要多长时间,需要用到什么技术? thinkphp结合workerman 萌新求助 怎样去判断客户端打开了一个页面没有执行任何动作? MSN一样的消息提示??加链接不好使
完全安装,不要只安装客户端
下载地点:chat.hn.cninfo.net/soft的hot下载 2. 下载PHP3或PHP4源码
下载地点:www.php.net www.phpuser.com chat.hn.cninfo.net/soft 3. 配置PHP的安装参数
for php 4:
./configure --with-apxs=/usr/sbin/apxs \
--prefix=/usr \
--with-gd \
--enable-versioning \
--with-mysql=/usr \
--with-oracle=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5 \
--with-oci8=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5 \
--with-zlib \
--with-dbase \
--with-filepro \
--with-config-file-path=/etc/httpd/conf \
--with-fdftk=no \
--enable-debug=no \
--enable-magic-quotes \
--enable-debugger \
--enable-bcmath \
--enable-track-vars \
--enable-safe-mode \
--with-exec-dir=/usr/bin \
--with-system-regex \
--no-create \
--no-recursion --with-oracle 选项让php可以通过ORA_函数访问 Oracle 7.x 或8.x
--with-oci8 选项让php可以使用更多更好的 oci8函数 4. make 5. make install 6. cp ./php.ini-dist /wherever/your/conf/files/are/php.ini
将php.ini拷贝到适当的位置 7. 修改httpd.conf
修改如下这一行
LoadModule php4_module lib/apache/libphp4.so
改为:
LoadModule php4_module /usr/lib/apache/libphp4.so 8. 重新启动APACHE 9. 测试PHP4的安装是否成功
创建一个test.php3内容为:
<? phpinfo(); ?>
在浏览器中访问它,看是否有ORACLE和ORACLE8的信息。
如果有的话,那么就恭喜你了! 10. 现在开始使用ORACLE的函数吧
<?
// 设置ORACLE环境变量
putenv("ORACLE_SID=PROD");
putenv("ORACLE_HOME=/usr/local/oracle/8i/u01/app/oracle/product/8.1.5"); // 建立连接
// 修改现在的user_id,password,db以适应你的配置
if( = OCILogon("user_id","password","db"))
{
// 取得数据库的信息
printf("%s</P>", OCIServerVersion());
}
else
{
printf("Conncetion Failed");
}
?>
这段程序会显示出你所连接到的ORACLE的一些信息 12. 其它
如果你需要连接到远程的ORACLE服务器,你就还需要设置你的sqlnet.ora 和 tnsnames.ora 来指定远程数据库的位置。
向数据库管理员要求,拷贝一些文件放到
/network/admin/ 目录下
PHP在Linux/Unix下连接oracle8是很容易的事,但在windows平台下实在不易,本人经过长久的摸索才找到可靠的方法,不敢独享,
现公布出来以飨大家。 笔者使用的开发环境: windows 98 第二版 php4.04pl1 apache 1.3.14 window版 oracle 8.05客户端 PHP以CGI方式安装完毕测试成功后。以以下代码测试
<?php
$conn = OCILogon("cinmsiii","cinmsiii","(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom)))");
//$conn=OCILogon("cinmsiii","cinmsiii","cinms");如果oracle客户端是8.1.6i的话可以这样用,参数照上 if($conn!=false)
{
echo "ok";
OCILogoff($conn);
}
else
echo "false";
?> 关于连接参数问题:
连接串设为以下:
(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.202)(PORT = 1521))(CONNECT_DATA = (SID = unicom))) PROTOCOL:为使用的网络协议 HOST:为数据库服务器主机名 SID:为数据库的实例号 这样作后一般没有任何问题。 如果你的oracle 8客户端为 8.1.6i企业版,可以把这些参数设在连接串中,用 oracle8的net easy config实用工具设置。
将设置后的连接串名称作为连接串传入。 推测oracle 7.x也可以用此方法,因没有环境,未作测试,如果你有兴趣可以试试