无法使用 PHP 连接到 Oracle 19 oci_connect

cannot connect to oracle 19 with php oci_connect

提问人:Mark Ainsworth 提问时间:10/18/2023 最后编辑:Aaron MeeseMark Ainsworth 更新时间:10/19/2023 访问量:29

问:

我知道还有其他关于此错误的帖子(大多数较旧),但解决方案似乎对我不起作用。我的系统是 Windows 10。

我将 php.ini 中的 exensions-dir 更改为 php.ini 中的完整路径 这是我的 php.ini 中的条目:

extension_dir = "C:\Program Files\php-8.2.11-Win32-vs16-x64\ext"

这是错误:

Fatal error: Uncaught Error: Call to undefined function oci_connect() in C:\Apache24\htdocs\StopCodes\php\openDB.php:9 Stack trace: #0 C:\Apache24\htdocs\StopCodes\php\stopCodes.php(3): require() #1 {main} thrown in C:\Apache24\htdocs\StopCodes\php\openDB.php on line 9

违规的行是:

$ora = oci_connect($ora_username,$ora_password,$ora_connection_string);

这是我的条目:php.ini

extension=oci8_19 

我看到一些关于pecl的参考资料,但我没有梨。我尝试安装梨(我没有,因为我没有使用 xamp 安装 PHP),所以我尝试了另一种选择:将其复制并保存到我的 php 文件夹中。go-pear.batgo-pear.phar

我收到了这批错误:

C:\Program Files\php-8.2.11-Win32-vs16-x64>"c:\program files\php-8.2.11-Win32-vs16-x64\php" go-pear.phar

Warning: Private methods cannot be final as they are never overridden by other classes in C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar on line 339
manifest cannot be larger than 100 MB in phar "C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar"
Warning: require_once(phar://go-pear.phar/index.php): Failed to open stream: manifest cannot be larger than 100 MB in phar "C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar" in C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar on line 1284

Fatal error: Uncaught Error: Failed opening required 'phar://go-pear.phar/index.php' (include_path='.;C:\php\pear') in C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar:1284
Stack trace:
#0 {main}
  thrown in C:\Program Files\php-8.2.11-Win32-vs16-x64\go-pear.phar on line 1284

我不知所措。

php pear pecl oracleclient

评论

0赞 Christopher Jones 10/18/2023
您在哪里安装以及如何配置所需的 Oracle Instant Client(或本地 Oracle 数据库)?
0赞 Mark Ainsworth 10/19/2023
将代码从我的开发机器移动到 Web 服务器(安装了 php 8.1),我的代码就可以工作了。我将比较 ini 文件(php 和 apache)。你可以认为这个问题已经解决了。

答: 暂无答案