PHP 致命错误:调用未定义函数 apache_getenv()
Posted
技术标签:
【中文标题】PHP 致命错误:调用未定义函数 apache_getenv()【英文标题】:PHP Fatal error: Call to undefined function apache_getenv() 【发布时间】:2016-02-20 00:38:39 【问题描述】:主机:亚马逊网络服务
领域:Godaddy
SSL:Godaddy
框架:Laravel 4.2
php:PHP5.6
阿帕奇:阿帕奇 2.4.16
文件位于:/var/www/html/test
我的代码:
$api_request = 'https://'.apache_getenv("HTTP_HOST") . apache_getenv("REQUEST_URI");
错误:
好像不存在。
Laravel 应用位于:html。然后是另外两个带有 laravel 的文件夹:test 和 live。
html/ (Laravel 应用登陆页面) 应用/ 引导程序/ 包/ 公开/ 供应商/ 测试/(Laravel 应用) live/(Laravel 应用) index.php它在 html 应用程序中正常工作。但在测试应用程序中,该功能不再存在。
【问题讨论】:
您的 Server API 是 Apache 处理程序吗? @ÁlvaroGonzálezServer API
Apache 2.0 Handler
使用$_SERVER
有什么问题?
也许很有趣? getenv — Gets the value of an environment variable.
@JonStirling 我试过了。给我未定义索引的错误HTTP_HOST
【参考方案1】:
看起来apache_getenv
在您的 php.ini 中被禁用
通过
启用它编辑 php.ini (默认/etc/php.ini
)
从disable_functions
部分中删除apache_getenv
保存并退出。
重新启动 apache/php 处理程序。
【讨论】:
我应该在 php.ini 中搜索什么词? 我找到了,但它是空的disable_functions =
没有什么可擦除的。
您使用的是共享主机环境吗?如果是,那么服务器的主 php.ini 中可能会被覆盖。
用后续问题检查我的答案。这可以帮助很多人呵呵【参考方案2】:
你可以试试
$_SERVER['HTTP_HOST'] and $_SERVER['REQUEST_URI']
代替apache_getenv
有时apache 不允许您在未激活模块的情况下访问这些功能。
希望这会对你有所帮助。
【讨论】:
我试过了。给我未定义索引的错误HTTP_HOST
用后续问题检查我的答案。这可以帮助很多人呵呵
@MarlonBuendia - 说真的,所有症状都表明您是从命令行运行 PHP,而不是通过 Web 服务器。以上是关于PHP 致命错误:调用未定义函数 apache_getenv()的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:调用未定义的函数 imagewebp() [关闭]
致命错误:在 PHP 中调用未定义的函数 imap_open()
PHP 致命错误:调用 Cpanel 上未定义的函数 json_decode()
php:致命错误:调用未定义函数 sqlsrv_connect()
PHP 致命错误:调用未定义函数 apache_getenv()
PHP 致命错误:未捕获的错误:使用 Laravel 5.8 和 PHP 7.4 调用未定义函数 Whoops\Exception\xdebug_is_enabled()