【问题标题】:OCI8 did not show/load in PHPinfo() in linux centos 8 (LAMPP stack)OCI8 没有在 linux centos 8(LAMPP 堆栈)的 PHPinfo() 中显示/加载
【发布时间】:2020-11-20 04:27:23
【问题描述】:

现在我已经在我的 centos 8 中安装了 LAMPP 堆栈。到目前为止,apache、php 和 mariadb 在我的服务器上运行良好。

我按照这个教程https://medium.com/@azharnian/cara-install-oci8-php-7-di-centos7-851abbb5d15

我还安装了 oracle 即时客户端,它运行良好。全部设置都没问题。我可以看到我的php - i 和 oci8.so 存在于我的/usr/lib64/php/modules 目录中。

oci8

OCI8 Support => enabled
OCI8 DTrace Support => disabled
OCI8 Version => 2.2.0
Oracle Run-time Client Library Version => 19.8.0.0.0
Oracle Compile-time Instant Client Version => 19.8

Directive => Local Value => Master Value
oci8.connection_class => no value => no value
oci8.default_prefetch => 100 => 100
oci8.events => Off => Off
oci8.max_persistent => -1 => -1
oci8.old_oci_close_semantics => Off => Off
oci8.persistent_timeout => -1 => -1
oci8.ping_interval => 60 => 60
oci8.privileged_connect => Off => Off
oci8.statement_cache_size => 20 => 20

Statistics =>
Active Persistent Connections => 0
Active Connections => 0

我已经在我的 php.ini 中设置了

extension_dir = "/usr/lib64/php/modules"
[OCI8]
extension=oci8.so

并在我的/etc/httpd/conf/httpd.conf 中设置 LD_LIBRARY_PATH

SetEnv LD_LIBRARY_PATH /home/user/instantclient_19_8

我什至把权限文件oci8.so改成sudo chmod 755 /usr/lib64/php/modules/oci8.so

我按照此链接中的建议No oci8 module in phpinfo() 也没有用。

我什至多次sudo rebootenable/start the httpd。但是还是不行

我在这里错过了什么?

如果有人可以帮助我,不胜感激。非常感谢。

【问题讨论】:

  • 你说你做了什么,而不是你的问题是什么。此外,您提到了 Apache,但从命令行运行 php。你想用什么环境?
  • @Alvaro Gonzalez 。我使用lampp环境。当前的问题是 oci8 没有加载到 phpinfo() 中。
  • 你搜索过堆栈溢出吗?我好像记得最近回答过这个问题。
  • “C”对于“A 还是 B?”总是一个令人困惑的答案。但我想你的意思是阿帕奇。当您在控制台中输入php -i 时,您使用的 PHP 程序与通过 Web 服务器运行 PHP 时不同,因此任何诊断信息都无关紧要。 php -i 的等效项是创建一个包含 <?php phpinfo(); 的脚本,并通过您打算使用的同一网站运行它。不管怎样,你说到目前为止一切都是正确的。那你为什么要发问题?你一定有什么需要帮助的:-?
  • @ÁlvaroGonzález 感谢您的回复。我发布了这个问题,因为函数 oci_connect 无法在我的 Web 环境 (apache, php, mariadb) 中运行。而且我检查了我的 phpinfo() 仍然缺少 oci8 模块。它没有加载到我的 phpinfo(); .

标签: php linux oracle oci8 centos8


【解决方案1】:

可能是Apache使用了php-fpm,你需要在/etc/php-fpm.d/www.conf中定义ORACLE_HOME和LD_LIBRARY_PATH,然后重启php-fpm守护进程。

【讨论】:

  • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
  • @Nick,你读过答案了吗?它可能以“我遇到同样的问题,但随后继续提供答案。嗨,格雷厄姆。欢迎来到 StackOverflow。你可能想在你的答案中拨出喋喋不休的声音。很高兴你回答了一个老问题(我们甚至有一个徽章),所以没有必要为此道歉。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 2016-11-05
  • 2020-06-13
  • 1970-01-01
  • 2020-11-17
  • 2017-07-06
相关资源
最近更新 更多