Apache+PHP+Oracle环境搭建及配置
一、确认Apache、PHP、Oracle Instantclient的兼容版本并下载
1、下载PHP,下载网址为:https://windows.php.net/download
PHP的包一般有两种版本NTS(非线程安全)和TS(线程安全版本),NTS版本比起TS版本会缺少一些类库,比如php8apache2_4.dll等,这里选择TS版本。
2、下载Apache,下载网址为:https://www.apachelounge.com/download/
选择与php解压文件夹下的apache类库的对应版本下载,如php8apache2_4.dll对应Apache2.4
3、下载oci8扩展(不是必须):PHP要连接Oracle需要oci8扩展,PHP扩展类库在解压后的/ext,一般会自带oci8扩展,若没有需要自行下载对应版本的oci8扩展,下载地址:http://pecl.php.net/package/oci8/3.2.1/windows,下载后将oci8扩展粘贴到/ext目录下即可。
4、下载Oracle Instantclient,下载网址为:https://www.oracle.com/database/technologies/instant-client/downloads.html
Oracle Instantclient的版本需要与oci8的扩展类库的版本相符合,比如php_oci8_19.dll对应Oracle Instantclient 19。
安装完成后的oci.dll为连接驱动
二、配置环境变量
1、配置oracle instantclient配置文件、环境变量
oracle instantclient环境配置:
在oracle instantclient配置目录下新增一个tnsnames.ora文件,文件内写入oracle连接配置,格式为:
TESTNAME =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = HostIP(Oracle服务运行的主机IP))(PORT = port(一般默认端口为1521)))
)
(CONNECT_DATA =
(SERVICE_NAME = servername(oracle服务名))
)
)
2、配置php配置文件、环境变量
配置PHP环境变量:
将php.ini_development文件复制一份,并重命名为php.ini作为php的配置文件,并向php.ini中加入如下配置
;打开php的扩展目录配置,去除
extension_dir = "ext"
;打开以下php的扩展加载配置,去除
;连接oracle扩展
extension=oci8_19
;使用PDO连接oracle扩展
extension=pdo_oci
配置完成后可使用 php -m 检查php.ini的配置是否正确
3、配置Apache
进入D:\Apache\Apache24\bin目录下,按住Shift点击鼠标右键,点击在此处打开命令窗口,输入命令
httpd.exe -k install -n Apache24
为此目录的Apache,在系统创建一个以Apache24命名的服务,可以像正常服务一样通过服务器管理器开启关闭。
配置D:\Apache\Apache24\conf下的httpd.conf文件
#配置Apache的安装路径
Define SRVROOT "D:\Apache\Apache24"
ServerRoot "${SRVROOT}"
#配置Apache的监听端口配置,此处有两个站点配置两个
Listen 80
Listen 81
#配置Apache的PHP模块,使Apache可以运行PHP
LoadModule php_module "D:\STSphp-8.3.6-Win32-vs16-x64\php8apache2_4.dll"
PHPIniDir "D:\STSphp-8.3.6-Win32-vs16-x64"
AddHandler application/x-httpd-php .php
#AddType application/x-httpd-php .php .html .htm
#配置Apache站点的域名
ServerName 服务器IP:端口号
#配置Apache站点的根目录,和对根目录的权限
DocumentRoot "${SRVROOT}/htdocs"
<Directory />
Options Indexes FollowSymLinks
AllowOverride none
Require all granted
</Directory>
#若有多个项目根目录,可以把虚拟机的配置打开
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf的文件在D:\Apache\Apache24\conf\extra,在此文件内配置虚拟机,有两个站点目录配置两个虚拟机,文件格式如下:
<VirtualHost *:80>
DocumentRoot "${SRVROOT}/htdocs"
ServerName 服务器IP:端口号 或 域名
ErrorLog "logs/80-error.log"
CustomLog "logs/80-access.log" common
</VirtualHost>
<VirtualHost *:81>
DocumentRoot "新站点根目录"
<Directory "新站点根目录">
Require all granted
</Directory>
ServerName 服务器IP:端口号 或 域名
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
ServerName若配置的是域名,则需要将域名添加C:\WINDOWS\system32\drivers\etc的hosts文件
127.0.0.1 你想要用的域名
Apache配置完成后,可使用 httpd -t 检查apache配置是否正确。
四、启动Apache服务
启动服务:net start Apache24
停止服务:net stop Apache24
也可以在服务器管理器开启关闭Apache24名称的服务