如何将OCI8安装到现有的PHP?

时间:2014-01-15 08:15:46

标签: php linux oci8

根据this(从PECL安装OCI8,自动化),我所要做的就是输入pecl oci8 install

但这只会让我反复出现以下错误。

No releases available for package pecl.php.net/oci8

另一个网站建议我尝试pear install pecl/oci8。发生同样的错误。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:3)

我在Ubuntu LTS 14.04上有同样的错误:

~$ sudo pecl install oci8
No releases available for package "pecl.php.net/oci8"
install failed

最后原因是代理问题:我的计算机正在公司代理服务器之后。运行以下命令以添加代理

~$ sudo pear config-set http_proxy http://proxy.mycompany.com:8080/
config-set succeeded

然后再次运行该命令,它的工作方式如下

~$ sudo pecl install oci8
downloading oci8-2.0.8.tgz ...
Starting to download oci8-2.0.8.tgz (190,854 bytes)
....done: 190,854 bytes
11 source files, building
running: phpize
Configuring for:
PHP Api Version:         20121113
Zend Module Api No:      20121212
Zend Extension Api No:   220121212

这里我们输入Oracle Instant客户端文件夹,如下所示:

Please provide the path to the ORACLE_HOME directory. Use 'instantclient,/path/to/instant/client/lib' if you're compiling with Oracle Instant Client [autodetect] : instantclient,/opt/oracle/instantclient_12_1

然后命令行继续输出:

building in /tmp/pear/temp/pear-build-rootJafknN/oci8-2.0.8
running: /tmp/pear/temp/oci8/configure --with-oci8=instantclient,/opt/oracle/instantclient_12_1
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
...
...
Build process completed successfully
Installing '/usr/lib/php5/20121212/oci8.so'
install ok: channel://pecl.php.net/oci8-2.0.8
configuration option "php_ini" is not set to php.ini location
You should add "extension=oci8.so" to php.ini
祝你好运。