Laravel 和 oracle 的连接
Posted
技术标签:
【中文标题】Laravel 和 oracle 的连接【英文标题】:Laravel and oracle connection 【发布时间】:2016-02-04 18:10:46 【问题描述】:我正在尝试配置 laravel 以使用 oracle 数据库,我正在尝试使用 Yajra 进行连接,但每次尝试运行我的应用程序时都会出现此错误。
Oci8.php 第 449 行中的 FatalThrowableError:致命错误:调用 未定义函数 Yajra\Pdo\oci_connect()
如果有人能帮我解决这个问题,我将非常感激......
【问题讨论】:
【参考方案1】:因为你的php不支持oci8!
如果您使用 Windows:
从here下载instantclient-basic-windows
创建文件夹
cd E:/wamp64/bin
mkdir oracle
将下载的 Instantclient 包移动到 /oracle
mv instantclient-* E:/wamp64/bin/oracle
unzip instantclient-basic-windows.x64-12.1.0.2.0.zip
将instantclient_xx
添加到您的Path
并编辑php.ini
取消注释
extension=php_oci8_12c.dll
extension=php_odbc.dll
重启你的 wamp 你会看到oci8
<?
phpinfo().
如果您使用 Linux:
从here下载instantclient-basic-linux
和instantclient-sdk-linux
,并解压到一个目录中。
mkdir /opt/oracle
mv instantclient-* /opt/oracle
unzip instantclient-basic-linux-x86-64-11.2.0.2.0
unzip instantclient-sdk-linux-x86-64-11.2.0.2.0
mv instantclient_11_2 instantclient
cd /opt
chown -R root:www-data /opt/oracle
echo /opt/oracle/instantclient > /etc/ld.so.conf.d/oracle-instantclient
ldconfig
cd /opt/oracle/instantclient
ln -s libclntsh.so.* libclntsh.so
ln -s libocci.so.* libocci.so
你需要输入'instantclient,/opt/oracle/instantclient'
pecl install oci8
完成后检查你是否在/usr/lib/php/20151012
这样的目录中有pci8.so
cd /etc/php/7.0/mods-available/
vi oci.ini // extension=oci8.so
cd /etc/php/7.0/fpm/conf.d/
ln -s /etc/php/7.0/mods-available/oci.ini 20-oci.ini
附加路径
vi /etc/environment
# append
export LD_LIBRARY_PATH="/opt/oracle/instantclient"
export TNS_ADMIN="/opt/oracle/instantclient"
export ORACLE_BASE="/opt/oracle/instantclient"
export ORACLE_HOME=$ORACLE_BASE
终于
service php7.0-fpm restart
【讨论】:
以上是关于Laravel 和 oracle 的连接的主要内容,如果未能解决你的问题,请参考以下文章