我运行的是Ubuntu-nginx–php7-fpm机器,phpinfo()不检测oracle扩展。
我怎么能告诉nginx或PHP的oracle-php扩展程序安装?
这个机器是oracle php7-fpm工作的另一个克隆。
当从PHP oracle运行phpinfo()没有列出,甚至oci连接确实工作或在error.log列出
我不能提供你的案件中缺less的东西。 以下是为php-fpm启用oci 8的所有步骤。
首先使用下面的步骤安装oci8.so:
安装PECL,PHP开发文件,Build Essential,Unzip和AIO库
apt-get install php-pear php7.0-dev build-essential unzip libaio1
创buildoracle目录
mkdir /opt/oracle
从此链接下载即时客户端。 下载11.2基本和SDK。 只有11.2版本为我工作。
移动下载的文件
mv instantclient-* /opt/oracle
使用unzip命令解压缩文件(unzip)重命名创build的目录
mv instantclient_11_2 instantclient
cd进入即时客户端目录并创build以下软链接
ln -s libclntsh.so.11.2 libclntsh.so ln -s libocci.so.11.2 libocci.so cd to /opt
设置目录的权限
chown -R root:www-data /opt/oracle
将即时客户端添加到ldconfiguration文件
echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient
更新dynamic链接器运行时绑定
ldconfig
使用PECL安装OCI8
pecl install oci8
当您为客户所在地input以下内容时:
instantclient,/opt/oracle/instantclient
最后configurationphp.ini
在这一刻你的oci8.so准备好了。 只要包含到您的php.ini文件。
cd /etc/php/mods-available/ vi oci.ini
然后将这一行添加到文件“extension = oci8.so”
现在创build一个像这样的符号链接:
cd /etc/php/7.0/fpm/config.d/ ln -s /etc/php/mods-available/oci.ini 20-oci.ini
添加oracle环境variables:
vi /etc/environment
添加以下行:
# Oracle Instant Client export LD_LIBRARY_PATH="/opt/oracle/instantclient" export TNS_ADMIN="/opt/oracle/instantclient" export ORACLE_BASE="/opt/oracle/instantclient" export ORACLE_HOME=$ORACLE_BASE
最后重启fpm服务:
sudo php7.0-fpm restart
您必须能够通过phpinfo检查oci8扩展。