wamp升级PHP版本,并连接Oracle
项目中原有的版本是 5.5.12,被扫描出CVE漏洞,要升级版本,虽然升级了肯定也会有漏洞。目前要将 5.5.12 升级到 5.6.7 。使用的集成环境 wamp。不要问我为什么又要搞 php,我也不知道啊。
系统: Windows Server 2012 R2
数据库:Oracle 11g
更新PHP版本
Windows用户到 https://windows.php.net/ 或者历史版本 https://windows.php.net/downloads/releases/archives/ 下载对应的版本。
这里直接使用 Php 5.6.7 x64 进行下载。
安装配置
将文件解压存入到 wamp/bin/php
目录下,如图所示。之后将原有的 php.ini,phpForApache.ini,wampserver.conf 复制到新版本的 php 文件夹下。
对 php.ini 进行配置,根据直接的实际路径进行修改。
|
|
对 wamp 进行重新启动,然后就可以在 php 选项中进行环境的切换。
此时就可以切换到新的 php 版本了。
Oracle数据库依赖更改
对于 php 5.6 以上的版本,默认的链接 dll 为 php_oci8_12c.dll,也就是说,无法直接链接 oracle 11g 数据库。
下载安装Oracle Client
要下载oracle client,http://www.oracle.com/technetwork/cn/database/features/instant-client/index-092699-zhs.html 针对自己的系统 php 版本和 oracle 版本进行下载。
连接Oracle 11g 需要 11.2.0.4.0 版 ,需要Basic Light 和 SQL*Plus 两个包。
下载完成后,同时解压。将解压后的文件路径添加到系统环境变量里,重启系统。
安装 php_oci 包
我们需要安装与 php 版本对应的 oci 包。oci 8 中对应版本为 5.6的2.0.10,对于位数和 nts 情况可以通过 phpinfo 来查看。
解压后里面会有几个 dll,我们使用 php_oci8.dll 和 php_oci8_11g.dll 复制到 wamp/bin/php/php5.6.7/ext/
下。
重新启动 wamp,通过 phpinfo()
可以查看是否有 oci8 模块。
此时就可以完成php5.6.7 对 oracle 11g 的连接。
Apache 外网访问
配置静态IP
要是外网访问 APache,首先要设置一个静态 IP,这样可以通过静态 IP 进行访问。
ipconfig
仍旧可以看到 IPv4 地址 和你之前写的不是同一个IP,而配置的IP为复制,说明该ip已经被占用,需要更换一个IP。在Windows Server 中,在 Internet协议版本4 中设置 IP 地址。
在Windows 防火墙内将 80 端口打开,允许出站和入站。
然后就可以通过其他机器访问该IP上的资源了。
403 问题
目前来说,可以对系统进行访问,但是当我们进行页面访问的时候就会提示403错误。
针对该问题,需要进行对 Apache 配置文件进行设置。
修改 ./wamp/bin/apache/apache2.4.9/conf/httpd.conf
修改为以下
|
|
同时要对 ./wamp/bin/apache/apache2.4.9/conf/extra/httpd-vhosts.conf
进行修改。
对下面进行修改,改为自己的地址。
|
|
总结
在上面的配置中有几个大的坑需要注意一下。
- 版本和位数一定要一致;
- 不同版本连接 Oracle 一定要下载对应版本的 clinet 并且对应的 oci;
- 网络配置上,如果出现了静态IP更改,就要更换静态IP,要不然连接不上。