如何将 Laravel 8 连接到 oracle 11g 数据库?
Posted
技术标签:
【中文标题】如何将 Laravel 8 连接到 oracle 11g 数据库?【英文标题】:How to connect Laravel 8 to oracle 11g database? 【发布时间】:2021-01-14 22:06:35 【问题描述】:我正在尝试将 Laravel 8 连接到 Oracle 11g 数据库,我尝试了所有可能的解决方案,但没有成功。 这是我的系统属性:
-
Windows 8.1 64 位。
Laravel 8.
Oracle 11g。
Xampp 64 位。
php 7.4.10
这是错误信息: C:\xampp\htdocs>composer require yajra/laravel-oci8 PHP 警告:PHP 启动:无法加载动态库“php_oci8_11g”(尝试: C:\xampp\php\ext\php_oci8_11g(%1 不是有效的 Win32 应用程序。),C:\xampp php\ext\php_php_oci8_11g.dll(找不到指定的模块。))在Unkn 在第 0 行拥有 . . . 下图说明了问题:
【问题讨论】:
你缺少那个扩展,可能你只需要编辑你的 php.ini 并重新加载 php-fpm。 【参考方案1】:您需要在 php.ini 文件中取消注释 extension=oci8_12c
并确保 php_oci8_12c.dll
文件在您的 ext
文件夹中。
【讨论】:
我使用的是 oracle 11g (php_oci8_11g.dll),并且我取消了对 extension=php_oci8_11g 的注释。【参考方案2】:通过在 php.ini 中删除 ;
之前的 ;
来取消注释 extension=oci8_12c
,然后使用 service php-fpm restart
或 service php7-fpm restart
重新加载 php-fpm 将 7 替换为您的 php 版本。
好像移动到pecl,下载dll文件放到xampp\php\ext\
目录下。如果存在,请替换它,重新启动您的 xampp,现在应该可以了。
【讨论】:
我使用的是 oracle 11g (php_oci8_11g.dll),并且我取消了对 extension=php_oci8_11g 的注释。 @Jon 我的理解是,你的扩展应该在那里,你不需要安装,它仍然,你可以使用php -m
并检查你是否可以看到扩展,如果没有,我们需要安装它。
我使用php -m时扩展不存在。
@Jon 检查更新的答案,下载 dll 并将其放置在正确的路径中,重新启动您的 xampp。
@Jon 任何进展和更新,如果你让我知道目前的状态是什么,那么只有我可以帮助你。以上是关于如何将 Laravel 8 连接到 oracle 11g 数据库?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 SQL 开发人员/Toad 连接到 Oracle 8i
如何将带有前缀列的表连接到 PHP MySQL 或 Laravel 中的另外两个表