调用未定义的函数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
以启用它。 然后我重新启动所有的服务,现在它的工作! 我希望这对你有用。
事情要确定
- 无论何时连接Oracle数据库,都要使用32位的Oracle客户端库,因为XAMP PHP是用32位编译的(尽pipe你有64位的Windows机器)
-
从此处下载Oracle客户端
-
将其粘贴到C:\ instantclient_12_1
- 然后在系统环境variables中设置上面的path
- 然后转到C:\ xampp \ php \ php.ini并取消注释扩展名= php_oci8_12c.dll
- 然后重新启动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