cd ext/oci8 phpize ./configure --with-oci8=instantclient,/opt/oracle/instantclient_12_1 sudo make
执行完上面的步骤,应该会生成一个modules文件夹,里面就有我们想要的extension。
编译pdo_oci
步骤和编译oci8是一样的,但是configure参数不一样,所以还是写一下。
cd ../../ext/pdo_oci phpize # 最后面要指定版本号 ./configure --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 sudo make
结果也和上面一样。
使用我们编译的扩展
首先我们要知道现行PHP的ext目录在哪里
php -i | grep "extension_dir"
我这里显示的是extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012,那么我们先把我们编译的扩展复制到/usr/lib/php/20151012下
# 先进入对应的modules目录下 cp oci8.so /usr/lib/php/20151012 cp pdo_oci.so /usr/lib/php/20151012
然后我们还要在php.ini中添加相关配置项,首先也要知道php.ini的位置
p -i | grep "Configuration File"
打印出了如下信息
Configuration File (php.ini) Path => /etc/php/7.0/cli Loaded Configuration File => /etc/php/7.0/cli/php.ini
这样我们就知道了php.ini的位置,但是这个是CLI(命令行接口)的配置文件,我们需要使用Apache的(CGI)。我们到目录/etc/php/7.0/下发现还有一个名为apache2的目录,里面也有php.ini文件,那么我们编辑apache2目录下的php.ini
sudo vim php.ini
在里面加入
extension=oci8.so extension=pdo_oci.so
最后重启Apache
systemctl restart apache2.service
查看一下phpinfo()发现OCI和PDO_OCI均已安装。到这里安装已经全部完成了。
Linux小技巧
在安装和查资料的过程中发现了一下很实用的命令,也把它们记录下来。
# 重启某个服务 sudo systemctl restart apache2.service # 查看某个服务的状态 sudo systemctl status apache2.service # 查看php相关的模块(其他的类似) apt-cache search php- | less # 具体查看某个模块的详细信息 apt-cache show package_name
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对易采站长站的支持。







