① php,pdo怎么连接oracle数据库
要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.dll分号去掉即可.
请先安装oracle的客户端,能够用客户端访问oracle。
php支持oracle连接函数
php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了,如果不行,我们再把php目录中的php_oci8.dll拷到windows系统的system32下面去吧.
oracle数据库建立链接,代码如下:
$conn=oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.100)(PORT=1521))(CONNECT_DATA=(SID=test)))");
② linux系统下如何安装oci8的php扩展
Linux下PHP Oracle客户端扩展(OCI8)安装
因为最近的项目需要用php访问oracle数据库,不得不在linux下给php安装oci8扩展。php也可以使用pdo访问oracle数据库,但还是需要安装客户端。参考张宴博客的这篇文章,出了很多问题,多次尝试,足够折腾才安装成功。首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的版本,一定要对应,否则安装成功也会连不上,同时也要区分32位、64位服务器,比如我要连的数据库服务器是oracle10.2.0.4,64位主机,那么我要下载下面三个文件:oracle-instantclient-basic-10.2.0.4-1.x86_64.rpmoracle-instantclient-devel-10.2.0.4-1.x86_64.rpmoracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm用以下命令安装rpm -ivh oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm再安装OCI8 PHP扩展yum install lio
wget http://pecl.php.net/get/oci8-1.3.5.tgz
tar zxvf oci8-1.3.5.tgz
cd oci8-1.3.5/
/home/renjun/php/bin/phpize CFLAGS="-I/usr/include/oracle/10.2.0.4/client64/" CXXFLAGS="-I/usr/include/oracle/10.2.0.4/client64/"
./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=/usr/lib/oracle/10.2.0.4/client64/上面橙色的表示php的安装路径,红色的表示oracle路径,oracle路径会因为版本的不同文件夹名称有所不同,要到相应目录查看一下,确认路径正确。然后执行make,如果报错,就执行./configure --with-php-config=/home/renjun/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client64/lib/成功后会提示你执行make test,那就执行吧,可能会出现一堆的fail,但是不要紧。继续make install。修改php.ini文件,添加extension = "oci8.so"重启apache,用phpinfo()函数查看oci8是否安装成功。第一次安装的时候装错版本,重装了很多遍显示的仍然事老版本的扩展,必须要删除oci8-1.3.5这个目录重新解压,执行上面的命令才可以。最后鄙视一下oracle,下载你的扩展还必须注册你的会员,几十个必填字段,不就下载个东西么!
③ php中怎么配置支持oracle 11g数据库
1、安装oracle 11g client或instantclient 11
2、编译php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:参考
http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html
4、ora.php实例
<?php
$conn = oci_connect('user', 'passwd', 'ip:1521/orcl'); // 建立连接
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
$query = 'SELECT * FROM account'; // 查询语句
$stid = oci_parse($conn, $query); // 配置SQL语句,准备执行
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}
$r = oci_execute($stid, OCI_DEFAULT); // 执行SQL。OCI_DEFAULT表示不要自动commit
if(!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}
// 打印执行结果
print '<table border="1">';
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
print '<tr>';
foreach($row as $item) {
print '<td>'.($item?htmlentities($item):' ').'</td>';
//print_r($item);
}
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
④ php无法加载oci8模块,无法连接oracle数据库!其中php.ini也配置了,oracle即时客户端也安装了!
php版本和你的oracle不对应吧。你用phpstudy集成包。里面php版本可以自由切换。在菜单php扩展里面勾上oci8就自动打开扩展。扩展管理很方便。