(这个测试过,可是不能成功)
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-oci=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/
可以参考http://blog.csdn.net/a82168506/article/details/11763989
安装oci8(http://zyan.cc/post/411/)
make oci8出错的话,用这个编译试试./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client/lib/
安装pdo_oci(注意源码包里面有的)
cd php-5.4.28/ext/pdo_oci
1043 ls
1044 ll
1045 clean
1046 clean
1047 make clean
1048 /usr/local/webserver/php/bin/phpize
1049 ./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.4
1050 make
1051 make install
#64位系统=====================================================
ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client
ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client
CFLAGS="-I/usr/lib/oracle/11.2/client64/"
CXXFLAGS="-I/usr/lib/oracle/11.2/client64/"
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/11.2/client/lib
#oracle
export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib:$LD_LIBRARY_PATH
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export PATH=$ORACLE_HOME/bin:$PATH
SQLSTATE[HY000]: pdo_oci_handle_factory: Error while trying to retrieve text for error ORA-12514 (/root/hcl/PDO_OCI-1.0/oci_driver.c:463)
出现这个错误后,换掉连接oralce的代码方式就可以避免。
try {
$conn = new PDO("oci:dbname=10.1.1.10:1521/yourdatabase", "yourusername", "yourpassword");
if($conn){
echo 'connect success!';
}
foreach($conn->query('SELECT * from 视图或者表') as $row) {
print_r($row);
print("
");
}
$conn = null;
exit;
$result = $conn->query("SELECT * from 视图或者表");
var_dump($result);
// foreach ($result as $row) {
// echo $row['KEY'] . '
';
// }
echo '总共'. $result->rowCount() .'条';
} catch (PDOException $e) {
echo "Failed to obtain database handle " . $e->getMessage();
}