PHP7 RC3
2015年9月17日現在、PHP7はRC3までリリースされています。
そこで本日は、OracleDB用のクライアントであるOCI8をインストールしたいと思います。
instantclient のダウンロード
OracelのWebからダウンロードしてください。
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
自分の環境では、最新版のVersion 12.1.0.2.0
を使います。
basic
とsdk
をダウンロードします。
shell
$ unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
$ unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
$ ls instantclient_12_1/
adrci
BASIC_README
genezi
libclntshcore.so.12.1
libclntsh.so.12.1
libipc1.so
libmql1.so
libnnz12.so
libocci.so.12.1
libociei.so
libocijdbc12.so
libons.so
liboramysql12.so
ojdbc6.jar
ojdbc7.jar
sdk
uidrvci
xstreams.jar
$ cd instantclient_12_1
$ ln -s libclntsh.so libclntsh.so.12.1
PHP7ビルド時にシンボリックリンクが必要になります。
PHP7のダウンロードとビルド
shell
$ wget https://downloads.php.net/~ab/php-7.0.0RC3.tar.bz2
$ tar jxvf php-7.0.0RC3.tar.bz2
$ cd php-7.0.0RC3
$ ./configure --prefix=$HOME --with-oci8=instantclient,$HOME/lib/instantclient_12_1 --with-pdo-oci=instantclient,$HOME/lib/instantclient_12_1,12.1
$ make
$ make install
これで、$HOME/bin
にphpが出来上がっていると思います。
既存のphp
と分けるために、エイリアスをセットします。
shell
$ alias php7=$HOME/bin/php
$ php7 -v
PHP 7.0.0RC3 (cli) (built: Sep 18 2015 14:45:45)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
php.ini
の場所は$HOME/lib
になってます。
変えたかったらコンパイルオプションで`--with-config-file-path=$HOME/etc``などと指定して変えてください。
shell
$ cp php-7.0.0RC3/php.ini-development $HOME/lib/php.ini
OCI8の確認
shell
$ php7 -i | grep oci8
oci8
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20
$ php7 -r 'var_dump(PDO::getAvailableDrivers());'
array(2) {
[0]=>
string(3) "oci"
[1]=>
string(6) "sqlite"
}
以上です。