我收到了这个错误.
Fatal error: Call to undefined function oci_connect()
$conn = oci_connect('localhost', 'username', 'password') or die(could not connect:'.oci_error)
Run Code Online (Sandbox Code Playgroud)
那就是代码.
这是我得到的错误.
Fatal error: Call to undefined function oci_connect() in C:\xampp\htdocs\org\org\php\myphp.php on line 51
Run Code Online (Sandbox Code Playgroud)
我检查了ext文件夹中的PHP DLL文件.
事先感谢有人帮助解决这个问题.
小智 17
我只花了三个星期来对抗这个问题.
我在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 Instant Client 32位时,一切正常.phpinfo()显示oci8信息,我的应用程序工作正常.
所以,永远不要认为你的WINDOWS版本是x64.该链接位于XAMPP和ORACLE Instant Client之间.
简单的步骤
您需要在php.ini中启用以下扩展名
;extension=php_oci8.dll
;extension=php_oci8_11.g.dll
Run Code Online (Sandbox Code Playgroud)
删除";" 以便结果如下:
extension=php_oci8.dll
extension=php_oci8_11.g.dll
Run Code Online (Sandbox Code Playgroud)
下载Oracle Instant Client: - 最好是32位.32位也可以在64位上运行.你可以只谷歌:下载oracle即时客户端窗口32位.使用客户端版本11,因为extension=php_oci8_11.g.dll
无法使用12.将包解压缩到诸如此类的位置C:\Oracle\instantclient_11_2
.
最后PATH
,在系统变量而非用户变量下,使用结束位置修改系统的环境变量
然后,您需要重新启动系统以PATH
进行完全传播的更改.
如果您只是重新启动XAMPP/WAMP而不重新启动计算机,则PHP的php_oci8_11g.dll
扩展名将不会加载(也未找到)客户端的DLL文件(即OCL.dll).