折腾了一天多,网上都是集成环境,基本都是apache,没有关于nginx的资料。其实这个问题说到底就是和版本相关。
32位oracle客户端,32位php,mysql,redis啥的都是可以用64位,没有影响。网上各种粘贴复制system32,WoW64等等,都是不起作用。
经过诸多尝试,现在小结一下,怎么一次成功。
1.下载7.1.30-ntsx86的php:
https://windows.php.net/downloads/releases/php-7.1.30-nts-Win32-VC14-x86.zip
解压文件,设置全局环境变量;
2.下载32位的Instant Client
oracle是需要注册用户才能下载,还不能立马登陆,有点麻烦,下面这个可以直接下载。
下载地址:https://download.oracle.com/otn/nt/instantclient/121020/instantclient-basiclite-nt-12.1.0.2.0.zip?AuthParam=1561637325_3cd0cb4c86ab9c1079109494ec2c0893
把上面的Instant Client 解压到c盘根目录下面,别的地方应该也可以,没试过,然后把这个目录加入到全局环境变量;移动到php环境变量之前。
3.下载拓展
如果你的php的ext目录下面没有oci相关的拓展,你就需要自己下载了,根据自己的版本下载。
https://windows.php.net/downloads/pecl/releases/oci8/2.2.0/
4.设置php配置
cp php.ini-development php.ini
修改如下:
extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
extension=php_pdo_oci.dll ;开启支持pdo,使用第三方包可以达到忽略数据库类型的目的
5.测试
php -m
看一下,就行了:
看一下phpinfo:
<?php
echo oci_client_version();
phpinfo();
done!
出现问题还是直接上官网比较靠谱。我看oracle上面参考的配置最新的下面这个,讲的是php5.5的,他就一直强调php在windows上面只有32位的,我就猜到了,64位不是给php用的。。。但是有点奇怪的是,我一个同事用的是wamp,php是64位,竟然也可以了,但是我自己搭建的php+nginx+mysql一直不行,因为测试了很多版本的php,我自己搞了个随意切换版本的脚本。(后面64位的php和instant也可以,但是之前一直不行,还是不知道啥原因.)
oracle windows+php+oci参考:
https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html
Instant Client 下载,适用于 Microsoft Windows 32 位
https://www.oracle.com/technetwork/cn/topics/winsoft-095945-zhs.html
Instant Client Downloads ,for Microsoft Windows (x64) 64-bit
https://www.oracle.com/technetwork/topics/winx64soft-089540.html
脚本:
@echo off
taskkill /F /IM nginx.exe > nul
taskkill /F /IM php-cgi.exe > nul
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5
REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI...
D:/lnmp/nginx-1.17.0/RunHiddenConsole D:/lnmp/php-7.1.30-nts-Win32-VC14-x86/php-cgi.exe -b 127.0.0.1:9000 -c D:/lnmp/php-7.1.30-nts-Win32-VC14-x86/php.ini
echo Starting nginx...
D:/lnmp/nginx-1.17.0/RunHiddenConsole D:/lnmp/nginx-1.17.0/nginx.exe -p D:/lnmp/nginx-1.17.0
搭建参考:
https://blog.csdn.net/zhezhebie/article/details/93162536