【问题标题】:Problem with 'apache_getenv' since upgrading to PHP 8升级到 PHP 8 后出现 'apache_getenv' 的问题
【发布时间】:2021-10-10 19:19:01
【问题描述】:

我希望就我遇到的 Apache/PHP 8 问题获得一些帮助。自从在我的 LAMP 服务器上升级到 PHP 8 后,我的日志一直在输出以下错误:

PHP Fatal error:  Uncaught Error: Call to undefined function apache_getenv() ...

我已经使用var_dump(is_callable('apache_getenv')) 进行了快速调试,值返回为bool(false)

我尝试过:

  • 禁用 PHP 8,重新启动 Apache,重新启用 PHP 8,然后再次重新启动 Apache
  • 重新启动我的整个 Linux 系统,系统(见鬼)

似乎没有任何效果,我对如何解决这个问题感到有些困惑。我的应用程序依赖于我的站点.conf 文件中设置的一些环境变量,因此apache_getenv 很重要。

这只是缺少模块或安装错误的情况吗?我错过了什么?

任何帮助将不胜感激。

作为参考,我的系统运行的是 Ubuntu 18.04.5

谢谢!

【问题讨论】:

  • PHP 等是如何安装的? Linux 发行版、版本、存储库等
  • 你试过使用getenv()吗?
  • @madflow 我在 Ubuntu 18.04.5 @C.Celora 上使用 apt install php8.0 libapache2-mod-php8.0(包括强制性的 php8.0-fpm)安装了 PHP 哇!我不知道为什么我没想过检查getenv()。这确实解决了我需要的 ENV 值。谢谢!
  • 请在phpinfo() 中检查您的Server API。是 Apache 2.0 处理程序 吗?
  • @Rain 是的,SAPI 正在使用apache2handler

标签: php apache php-8


【解决方案1】:

更新:基于@C。 Celora 的上述建议getenv() 似乎解决了我无法通过apache_getenv() 获取环境变量的首要问题。谢谢!

我仍然不明白为什么 apache_getenv 在我的 PHP 8 安装中不起作用,但这对我来说不再是一个障碍。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 2022-06-15
    • 2016-10-11
    • 2021-08-26
    • 2019-06-14
    • 2021-02-20
    相关资源
    最近更新 更多