【问题标题】:Connecting Laravel with Oracle Database连接 Laravel 和 Oracle 数据库
【发布时间】:2016-03-25 21:46:57
【问题描述】:

我正在研究 Linux Mint。我为 Laravel 和 Oracle 11g Express 版安装了 Apache、MySQL、PHP。然后将 Laravel 连接到 Oracle,我找到了 this on GitHub。

我根据那里的文档做了所有事情。然后当我运行php artisan migrate 时返回我

[Symfony\Component\Debug\Exception\FatalErrorException]
Call to undefined function Yajra\Pdo\oci_connect()

在那之后,我进行了搜索,但没有找到任何适合我的东西。在 Stackoverflow 上遇到两个相同问题的问题尚未得到解答。在 GitHub 问题选项卡中,有人告诉激活 php.ini 文件中的评论。但是我的 php.ini 文件中没有这样的东西。

【问题讨论】:

  • 因撤消完美的编辑而被否决。请不要回滚改进编辑,除非它们改变了您帖子的含义。

标签: php oracle laravel pdo


【解决方案1】:

听起来您没有安装 oci8 扩展程序。您需要获取 Oracle Instant Client basic 和 sdk zip 包,将它们解压到同一目录,创建符号链接

sudo ln -s libclntsh.so.* libclntsh.so
sudo ln -s libocci.so.* libocci.so

然后执行pecl install oci8,并提供您将即时客户端解压缩到的目录路径。它会在你的机器上编译 OCI8 扩展。正确编译后,在 php.ini 中启用扩展:

echo "; configuration for php oci8 module" | sudo tee /etc/php5/conf.d/oci8.ini
echo extension=oci8.so | sudo tee -a /etc/php5/conf.d/oci8.ini

并重新启动 apache。另请参阅this answer、official oracle manual、official php manual 或 google "linux oci8 pecl howto" 了解多个详细手册。

【讨论】:

  • 不工作。 pecl install oci8 返回安装失败。并说需要 php 7.0.0 或更高版本。我已经安装了 php5。那该怎么办呢?
  • 试试pecl install oci8-2.0.10
  • 现在返回No releases available for package "pecl.php.net/oci8" install failed
  • 您是否在使用代理?如果是,请参阅 stackoverflow.com/a/33266364/1375470 - 否则,请尝试 pecl -vvv install oci8-2.0.10 强制冗长。
  • @MASh 你应该看看-vvv 的输出,看看是什么导致了错误……不管怎样,你可以去pecl.php.net/package/oci8,下载oci8-2.0.10.tgz手动运行pear install oci8-2.0.10.tgz
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多