Win10 64位XAMPP PHP7.4加载oci8_12c.dll报错%1不是有效Win32应用
解决方案
此报错的两个提示分别对应两类不兼容问题,按照以下步骤操作即可修复:
- 首先确认你的PHP核心参数:从你提供的phpinfo可知,你的环境为
PHP 7.4 x64、线程安全(TS)启用、VC编译版本为VC15,所有依赖包必须和这几个参数完全匹配。 - 下载对应版本的oci8扩展:
- 下载PECL上OCI8 2.2.0版本的VC15 x64 TS包,解压后将
php_oci8_12c.dll文件放到C:\xampp\php\ext目录下 - 打开
C:\xampp\php\php.ini,确认extension_dir配置值为C:\xampp\php\ext,且已添加配置行extension=oci8_12c
- 下载PECL上OCI8 2.2.0版本的VC15 x64 TS包,解压后将
- 安装对应版本的Oracle Instant Client:
- 下载Oracle Instant Client 12.2.0.1.0 64位基础包,解压到无中文、无空格的目录,例如
C:\instantclient_12_2 - 将该目录完整路径添加到Windows系统变量的
PATH中,添加后必须重启电脑让环境变量生效
- 下载Oracle Instant Client 12.2.0.1.0 64位基础包,解压到无中文、无空格的目录,例如
- 排查常见错误:
- 所有依赖包(扩展、Instant Client)都必须是64位版本,任意一个为32位都会报
%1 is not a valid Win32 application错误 - 不要使用18c及以上版本的Instant Client,和oci8_12c扩展不兼容
- 配置修改完成后,完全关闭XAMPP再重新启动Apache服务
- 所有依赖包(扩展、Instant Client)都必须是64位版本,任意一个为32位都会报
内容的提问来源于stack exchange,提问作者spatd
相关产品推荐
相关产品推荐

