You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP无法识别oci8扩展:Composer安装yajra/laravel-oci8失败求助

解决Laravel 5.7安装yajra/laravel-oci8时的ext-oci8扩展缺失问题

环境信息

  • PHP 7.4
  • Windows 10
  • Laravel 5.7

报错详情

执行composer install时触发依赖错误:
问题1

  • 根目录composer.json要求yajra/laravel-oci8 5.7.* -> 可由yajra/laravel-oci8[v5.7.0,...,5.7.x-dev]满足。
  • yajra/laravel-oci8[v5.7.0,...,5.7.x-dev]要求ext-oci8 >=2.0.0 -> 系统中缺少该扩展,请安装或启用PHP的oci8扩展。

针对Windows环境的修复步骤(适配常规教程无效场景)

  1. 匹配下载OCI8扩展与Oracle客户端

    • 确认你的PHP是线程安全(TS)还是非线程安全(NTS),以及架构(x86/x64),下载对应版本的oci8扩展文件(文件名通常为php_oci8_19.dll或php_oci8_12c.dll)。
    • 下载Oracle Instant Client基础包和SDK包(推荐19c版本,适配PHP7.4),将两者解压到同一目录,比如C:\oracle\instantclient。
  2. 配置系统环境

    • 将Instant Client路径添加到系统PATH环境变量,确保优先级高于其他可能的Oracle路径。
    • 添加系统环境变量ORACLE_HOME,值设为Instant Client的解压路径。
  3. 启用PHP扩展

    • 将下载的oci8扩展文件放入PHP安装目录下的ext文件夹。
    • 编辑php.ini,添加或修改一行:extension=php_oci8_19.dll(文件名需与你下载的一致)。
    • 确认extension_dir配置正确,例如extension_dir = "C:\php\ext"(替换为你的PHP ext目录路径)。
  4. 验证扩展加载状态

    • 关闭所有已打开的命令行窗口,重新打开后执行php -m,检查输出中是否包含oci8。
    • 若使用Web服务器,重启服务器后通过phpinfo()页面确认oci8扩展已加载。
  5. 重新执行Composer安装

    • 在新的命令行窗口中进入项目根目录,执行composer install。

内容的提问来源于stack exchange,提问作者Gabriel Felipe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:20:57