PHP一般环境为lamp或lnmp。由于近期,将会参与一个银行项目,使用Oracle数据库(数据库在远端服务器),所以自己需要重新搭建一个开发环境,我原本的环境是基于vagrant的,所以只需在原本的环境中安装Oracle的instant client工具和PHP的oci8扩展。
安装instant client
首先,是从https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载相应的数据库版本对应的basic和devel的rpm包或zip压缩包。我这里选择rpm包。然后安装:
rpm -Uvh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm -Uvh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
这样,instant client工具已经安装好了。接下来是PHP的扩展oci8。
安装oci8扩展
关于oci8的安装方法,在PHP官方文档中有详细的介绍,在线地址http://php.net/manual/en/oci8.installation.php。我这里选用pecl安装。直接运行命令:
pecl install oci8
注意,如果你和我一样使用的也是PHP7.0以上的版本,那么使用上面的命令。如果是其他版本,可以看到pecl的oci8页面有相关说明:
Use 'pecl install oci8-2.0.12' to install for PHP 5.2 - PHP 5.6. Use 'pecl install oci8-1.4.10' to install for PHP 4.3.9 - PHP 5.1
在运行安装命令后,会提示输入instant client路径,原文提示为:
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] :
默认路径为/usr/lib/oracle/11.2/client64/lib。注意,要在前面加上instantclient,完整输入为:
instantclient,/usr/lib/oracle/11.2/client64/lib
我第一次安装的时候,没有仔细阅读,只看到最后的autodetect便直接回车了,导致后面测试连接数据库失败。等待安装好后,还需要最后一步,便是在php.ini中加入配置extension=oci8.so或另起一个.ini文件,重启php-fpm:
service php-fpm restart
现在,你便可以连接Oracle数据库了,本地开发环境也搭建好了。
以上是PHP+Oracle本地开发环境搭建的详细内容。更多信息请关注PHP中文网其他相关文章!