调用未定义的函数oci_connect()

我得到这个错误。

Fatal error: Call to undefined function oci_connect() $conn = oci_connect('localhost', 'username', 'password') or die(could not connect:'.oci_error) 

那就是代码。

这是我得到的错误。

 Fatal error: Call to undefined function oci_connect() in C:\xampp\htdocs\org\org\php\myphp.php on line 51 

我检查了ext文件夹中的PHP DLL文件。

有人提前感谢这个问题。

我只花了三个整天来对付这个问题。

我在Windows 7中使用我的ORACLE连接,没有问题。 上周我刚刚装了一台装有Windows 8的新电脑。安装XAMPP 1.8.2。 这台服务器上的每个应用程序PHP / MySQL都能正常工作 当我尝试将我的php应用程序连接到Oracle DB时,问题就出现了。

调用未定义的函数oci_pconnect()

而当我开始/停止Apache的变化,一个奇怪的“警告”的“PHP启动”去LOG与“PHP警告:PHP启动:在未知的行0”

我做了所有的事情(取消注释php_oci8.dll和php_oci8_11g.dll,将oci.dll复制到/ ext目录,在/ Apache附近,没有任何作用。下载每个版本的Instant Client和NOTHING。

上帝来帮助我。 当我下载ORACLE即时客户端32位时,一切工作正常。 phpinfo()显示oci8信息,我的应用程序工作正常。

所以,不要怀疑你的WINDOWS版本是64。 链接在XAMPP和ORACLE即时客户端之间。

简单的步骤

你需要在你的php.ini中启用下面的扩展名

 ;extension=php_oci8.dll ;extension=php_oci8_11.g.dll 

通过去除“;” 所以结果如下:

 extension=php_oci8.dll extension=php_oci8_11.g.dll 

下载Oracle即时客户端: – 最好是32位。 32位也将工作在64位。 你可以只是谷歌:下载Oracle即时客户端Windows 32位。 使用版本11的客户端,因为extension=php_oci8_11.g.dll将无法使用12.解压缩到一个位置,如C:\Oracle\instantclient_11_2

最后,在系统variables而不是用户variables下修改系统的PATH环境variables和最终位置

然后您需要重新启动系统PATH更改才能完全传播。

如果只是重新启动XAMPP / WAMP而不重新启动计算机,客户端的DLL文件(即OCL.dll)将不会被PHP的php_oci8_11g.dll扩展名加载(也就是找不到)。

您需要在您的php.ini文件中启用该扩展。 请参阅Oracle安装 :

 extension=oci8.so 

我安装了WAMPServer 2.5(32位),也遇到了oci_connect错误。 我也安装了Oracle 11g客户端(32位)。 我在其他文章中读到的常见修复方法是改变C:\ wamp \ bin \ php \ php5.5.12目录中的php.ini文件,但是这对我来说并不合适。 也许我误解了,但是我发现如果你改变C:\ wamp \ bin \ apache \ apache2.4.9目录下的php.ini文件,你会得到你想要的结果。 我在apache php.ini文件中修改的唯一的东西是将分号移除到extension=php_oci8_11g.dll以启用它。 然后我重新启动所有的服务,现在它的工作! 我希望这对你有用。

事情要确定

  1. 无论何时连接Oracle数据库,都要使用32位的Oracle客户端库,因为XAMP PHP是用32位编译的(尽pipe你有64位的Windows机器)
  2. 从此处下载Oracle客户端

  3. 将其粘贴到C:\ instantclient_12_1

  4. 然后在系统环境variables中设置上面的path
  5. 然后转到C:\ xampp \ php \ php.ini并取消注释扩展名= php_oci8_12c.dll
  6. 然后重新启动XAMP,它应该没有任何问题的工作。

在这里输入图像描述

使用PHP的(By – Jaydev)将XAMPP,WAMP服务器连接到Oracle数据库

oci.dll php_oci8.dll php_oci8_11g.dll

致命错误:调用未定义函数oci_connect()在C:\ xampp \ htdocs \致命错误:调用未定义函数oci_connect()在C:\ wampp \ www \

我安装了Wamp并预计所有的东西都可以使用。 不是这样。 我的x64 Windows机器上有2个Oracle客户机(即时和完整)。 如果其他人有类似的设置,诀窍是确保即时客户端是(a)在您的Path环境variables中,(b)在Pathvariables中位于完整客户端之前。 这里有一个非常简短的Windows部分,但它给出了答案。

在这里输入图像描述

为Oracle数据库设置NLS_LANG环境variables(By – Jaydev)按照以下过程设置Oracle数据库的NLS_LANG环境variables。 为Oracle数据库设置NLS LANG环境variables