先说基本的配置
- Ubuntu 14.04
- Apache 2.4.7
- PHP 5.5.9
开始安装
- 安装必要工具
sudo apt-get update; sudo apt-get install php5-dev unzip
- 下载 oracle instant client
下载地址:oracle instant client 需要下载basic和sdk两个包 - 配置oracle instant client
1). 设置client安装目录$sudo mkdir /opt/oracle
$sudo cp ~/*.zip /opt/oracle
$cp /opt/oracle
$sudo unzip ./*.zip
$sudo mv instantclient_12_1 instantclient
2). 配置instantclient
> $sudo ln -s libclntsh.so.12.1 libclntsh.so
> $sudo ln -s libocci.so.12.1 libocci.so
> $sudo export ORACLE_HOME=/opt/oracle/instantclient
3). 添加库的路径
> $cd /etc/ld.so.conf.d
> $sudo vi liboci.conf #添加一行:/opt/oracle/instantclient
> $sudo ldconfig
-
下载php-5.5.9源码并解压
$cd ~
$wget http://museum.php.net/php5/php-5.5.9.tar.gz
$gunzip -d php-5.5.9.tar.gz
$tar -zxvf php-5.5.9.tar -
安装oci8、pdo、pdo_oci
$cd php-5.5.9/ext/ #这里可以看到PHP的组件,将要安装的三个也在其中
# 安装oci8
$cd oci8
$phpize
$./configure --with-oci8=instantclient,/opt/oracle/instantclient,12.1
$make
$sudo make install
# 在输出的内容中可以看到生成的.so文件路径:/usr/lib/php5/20121212(可能略有变化)# 安装pdo
$cd ../pdo/
$phpize
$./configure
$make
$sudo make install # 生成的.so文件和oci8.so路径相同# 安装pdo_oci
$cd ../pdo_oci/
$phpize
$./configure --with-pdo-oci8=instantclient,/opt/oracle/instantclient,12.1
$make
$sudo make install -
配置php.init
在/etc/php5/cli/php.init和/etc/php5/apache2/php.ini两个文件的末尾,均添加以下三行:
extension=pdo.so
extension=oci8.so
extension=pdo_oci.so
- 重启apache服务
$sudo service apache2 restart
$php -m #查看php安装的模块信息中是否有这三个
拓展
Why you Should be using PHP's PDO for Database Access
网友评论