2016-05-06 46 views
0

私はOracleの11とPHP5.3の下CentOSに5.11でoci8-1.4.9インストールしようとしているが、私はエラー:oci.h:そのようなファイルやディレクトリ

pecl install oci8-1.4.9 
を使用する場合、私はエラーを取得しています

エラー

config.status: creating config.h 
running: make 
/bin/sh /var/tmp/pear-build-root/oci8-1.4.9/libtool --mode=compile gcc -I. -I/tmp/tmp9GRxQr/oci8-1.4.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/oci8-1.4.9/include -I/var/tmp/pear-build-root/oci8-1.4.9/main -I/tmp/tmp9GRxQr/oci8-1.4.9 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -c /tmp/tmp9GRxQr/oci8-1.4.9/oci8.c -o oci8.lo 
mkdir .libs 
gcc -I. -I/tmp/tmp9GRxQr/oci8-1.4.9 -DPHP_ATOM_INC -I/var/tmp/pear-build-root/oci8-1.4.9/include -I/var/tmp/pear-build-root/oci8-1.4.9/main -I/tmp/tmp9GRxQr/oci8-1.4.9 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -DHAVE_CONFIG_H -g -O2 -c /tmp/tmp9GRxQr/oci8-1.4.9/oci8.c -fPIC -DPIC -o .libs/oci8.o 
In file included from /tmp/tmp9GRxQr/oci8-1.4.9/oci8.c:58: 
/tmp/tmp9GRxQr/oci8-1.4.9/php_oci8_int.h:56:17: error: oci.h: No such file or directory 
In file included from /tmp/tmp9GRxQr/oci8-1.4.9/oci8.c:58: 
/tmp/tmp9GRxQr/oci8-1.4.9/php_oci8_int.h:113: error: expected specifier-qualifier-list before 'OCIEnv' 
/tmp/tmp9GRxQr/oci8-1.4.9/php_oci8_int.h:122: error: expected specifier-qualifier-list before 'OCIEnv' 
/tmp/tmp9GRxQr/oci8-1.4.9/php_oci8_int.h:152: error: expected specifier-qualifier-list before 'dvoid' 

.... 

/tmp/tmp9GRxQr/oci8-1.4.9/oci8.c:3309: error: 'php_oci_spool' has no member named 'spool_hash_key' 
/tmp/tmp9GRxQr/oci8-1.4.9/oci8.c: At top level: 
/tmp/tmp9GRxQr/oci8-1.4.9/oci8.c:3321: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'php_oci_ping_init' 
make: *** [oci8.lo] Error 1 
ERROR: `make' failed 

私はそれをどのように修正することができますか?

答えて

2

私はUbuntu 14.04 LTSとOCI拡張で同様の問題がありました。

Oracle Instant Clientを 'alien'ツールキットでインストールし、LDライブラリパスとORACLE_HOME環境を設定しました。 sqlplusコマンドが機能しており、Oracleデータベースにアクセスできます。

OCI PHP/PECLインターフェイスのインストールは、そのままでは機能しませんでした。ライブラリとバイナリのディレクトリに「/usr/lib/oracle/12.1/client64」と含まれヘッダが「/usr/include/oracle/12.1/client64」の下に配置されている

In file included from /tmp/pear/temp/oci8/oci8.c:48:0: 
/tmp/pear/temp/oci8/php_oci8_int.h:60:17: fatal error: oci.h: No such file or directory 
#include <oci.h> 

我々が取得する必要がありますコンパイラー環境

C_INCLUDE_PATH=/usr/include/oracle/12.1/client64 pecl install oci8-2.0.12 

でPECLを通るパスを含める今PECL拡張モジュールのインストールは、私はそれがCentOSの上で同じ問題になることを願っています:)働いていました。

関連する問題