gpt4 book ai didi

php5无法通过apache连接到oracle

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:10 25 4
gpt4 key购买 nike

我使用 Linux Mint、Apache2、PHP5、Oracle Xe 11 并且没有安装 SELINUX。
我在我的机器上成功安装了oci8。我已经在/etc/php5/mods-available 上设置了 oci8 扩展,并且我使用 phpinfo() 进行了检查,oci8 已启用。

我尝试连接到 oracle。我有这个 PHP 代码:

    <?php
// error_reporting(E_ALL);
// Connects to the XE service (i.e. database) on the "localhost" machine
echo "[1]start connect<br>\n";
$conn = oci_new_connect('usertest', 'pwtester', 'localhost/XE');
echo "[2]check connection<br>\n";
if (!$conn) {
$e = oci_error();
echo "[3]Connection is error<br>\n";
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
echo "[4]test query\n";
$sql = oci_parse($conn, 'SELECT * FROM users');
oci_execute($sql);

echo "<table border='1'>\n";
while ($row = oci_fetch_array($sql, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>\n";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";

?>

此代码在 php-cli 上运行并显示表格。但是,当从浏览器访问时,此代码无法正常工作,并且不会返回任何结果错误。代码流以“[3]连接错误
\n”消息结束。

如何解决这个问题?

添加信息:
我尝试使用 php serve 和这个 php 命令:

php -S localhost:8000

并且php代码是可以连接到oracle的。

[更新]
我尝试在代码顶部添加此代码。

PutEnv("ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe");
PutEnv("LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/xe/lib");

并且代码正在运行。我认为,问题在于变量环境。

最佳答案

您仅在 php.ini 中为 cli 启用了 oracle 扩展。您也应该在 web 的 php.ini 中启用它。编写简单的php脚本

<?php echo php_info();

然后在浏览器中打开它并检查 php.ini 路径。也可能是你忘了重启 Apache 或 php-fpm

关于php5无法通过apache连接到oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com