oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
安装 rpm -ivh oracle-instantclient12.2-*
2,分别设置 环境变量和 软链接
export ORACLE_HOME=/usr/lib/oracle/12.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/oracle/12.2/client64/lib
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/oracle/12.2/client64
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
ln -s /usr/lib/oracle/12.2/client64 /usr/lib/oracle/12.2/client
ln -s /usr/include/oracle/12.2/client64 /usr/include/oracle/12.2/client
# 防止(pdo_oci可能不支持oracle11g,需要做个软链接成作为oracle10版本才能编译过去):
ln -s /usr/include/oracle/12.2 /usr/include/oracle/10.2.0.1
ln -s /usr/lib/oracle/12.2 /usr/lib/oracle/10.2.0.1
3,下载最新的oci8组件
下载地址:http://pecl.php.net/package/oci8/
tar -xvzf oci-2.2.0.tgz
cd oci-2.2.0
/usr/local/php/bin/phpize #(根据自己的路径)
./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8=shared,instantclient,/usr/lib/oracle/12.2/client64/lib
make && make install
4.修改php.ini
vi /usr/local/php/etc/php.ini
在extension项后追加以下内容
extension=oci8.so
重启即可
附上php 代码
header("Content-Type:text/html;charset=utf-8");
error_reporting(E_ALL);
ini_set('display_errors', '1');
$dbstr ="(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)";
$conn = oci_connect('system','123456',$dbstr,'utf8');
$stmt = oci_parse($conn, "select * from ctable");
oci_execute($stmt);
$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
echo "<table border=\"1\">\n";
echo "<tr>\n";
foreach ($results as $key => $val) {
echo "<th>$key</th>\n";
}
echo "</tr>\n";
for ($i = 0; $i < $nrows; $i++) {
echo "<tr>\n";
foreach ($results as $data) {
echo "<td>$data[$i]</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
} else {
echo "No data found<br />\n";
}
echo " $nrows Records Selected<br />\n";
oci_free_statement($stmt);
oci_close($conn);