【问题标题】:Apache isn't loading PHP extensionsApache 没有加载 PHP 扩展
【发布时间】:2018-10-14 14:28:18
【问题描述】:

我(手动)安装了 Apache 和 PHP。我从 php.ini 激活了 curl 扩展,它在 PHP-CLI 中运行良好,但是当我在 Apache 的帮助下通过浏览器访问 PHP 时,curl(和任何其他)扩展给我错误“{extension_function} 未定义”

PHP7.2-64bit

阿帕奇2.4

// php.ini
extension_dir = "/server/php/ext"
...
extension=bz2
extension=curl
extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

// httpd.conf    
LoadModule php7_module "/server/php/php7apache2_4.dll"
<IfModule php7_module>
    AddHandler application/x-httpd-php .php
    AddType application/x-httpd-php .php .html
    PHPIniDir "/server/php"
</IfModule>

更新

我正在使用 var_dump(function_exists('curl_init')); 代码行进行测试... 当我从 php-cli 运行此行时,它返回 true。 当我使用浏览器从 php 文件运行此行时,它返回 false。

From PHP-CLI

From browser

PHP File

Error

已解决

  1. 我到处都使用绝对路径(没有相对路径)(使用正斜杠)
  2. 将 PHP 添加到环境变量中。我不知道为什么,但是没有这个扩展就不会加载。我认为 Apache 的 php7 模块在环境中需要 php。
  3. 重新启动计算机(Apache 重新启动将不起作用)

我希望有人会觉得这很有帮助。

感谢您的帮助。

【问题讨论】:

  • 通过 Apache(浏览器)使用 PHP 是否可以工作?
  • 在 Apache 中使用的 PHP 通常使用不同的 php.ini 文件。 `apache\bin\ 文件夹中有一个吗?如果是这样编辑,就像你对 PHP CLI 使用的那样编辑
  • 是的,PHP 在浏览器中运行良好。我跑了 phpinfo();来自 php 文件的函数,它工作正常。
  • 所以查看phpinfo输出中名为Loaded Configuration File的参数。这告诉你 Apache 下的 PHP 从哪里获取其 php.ini 文件
  • apache\bin 或任何 apache 目录中没有任何 php.ini 文件。

标签: php apache php-extension


【解决方案1】:

我遇到了同样的问题 - 在 Windows 上。将扩展目录的路径改成绝对路径后,就可以了。

按照默认 php.ini 中的建议(不工作):

extension_dir = "ext"

变成了绝对路径(工作中)

extension_dir = "c:\amp\php\ext"

奇怪的是,这个问题只发生在某些机器/版本上。无法确定。这里列出了一个官方错误:

https://bugs.php.net/bug.php?id=74866

【讨论】:

  • 感谢 - 将 extension_dir 更改为绝对路径,彻底解决了神秘的加载失败问题!
猜你喜欢
  • 2015-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-26
  • 2012-11-26
  • 1970-01-01
  • 1970-01-01
  • 2011-03-02
相关资源
最近更新 更多