【问题标题】:PHP Windows extensions won´t loadPHP Windows 扩展不会加载
【发布时间】:2014-04-10 16:57:06
【问题描述】:

我正在使用 Windows Server 2008 R2 机器。我已经用 php 5.4.25 安装了 apache 2.2 在尝试为 apache 服务器启用 ldap 支持时,我发现服务器不加载扩展。

我运行了 php_info(),结果就是这样

配置文件(php.ini)路径

C:\Windows 加载的配置文件:“C:\php\php.ini

extension_dir C:\php\ext

我已更改 php.ini 以加载扩展,但它们未加载并且它们在 php_info 转储中不可见。我尝试重新启动服务器和 apache 大约一百万次,同时没有运气进行更改。因此,如果有人知道这个问题的解决方案,那就太好了。

【问题讨论】:

    标签: php windows apache windows-server-2008 php-extension


    【解决方案1】:

    我也遇到了很多问题。确保您正在配置正确的 php.ini 文件。由于某种原因,我有两个。

    这是来自我的 phpinfo()

    Configuration File (php.ini) Path   C:\Windows
    Loaded Configuration File   C:\wamp\bin\apache\apache2.4.4\bin\php.ini <--- this is the one I needed to manually update
    

    然后我将我的 php_ldap.dll 文件转储到:

    C:\wamp\bin\php\php5.4.16\ext
    

    更新了我的 php.ini 文件以加载扩展

    将 PHP 目录添加到 Windows 路径。

    更多信息在这里:http://www.php.net/manual/en/faq.installation.php#faq.installation.addtopath

    我的看起来像

    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files (x86)\Shoreline Communications\ShoreWare Client\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;c:\wamp\bin\php\php5.4.16
    

    图片:http://i.imgur.com/hQUwtYA.png

    重新启动机器,它工作。

    【讨论】:

    • 我 100% 确定我正在配置正确的 php.ini 文件,因为我能够更改其中的值。它只是不会加载任何扩展。
    • 您永远不需要将 WAMPServer 中的任何内容放在 PATH 上
    【解决方案2】:

    我在 Windows 上遇到了同样的问题。将扩展目录(在php.ini中)的路径更改为绝对路径后,它起作用了。

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

    extension_dir = "ext"
    

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

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

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

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

    【讨论】:

    • FWIW 我将 extension_dir 从默认的 "ext" 更改为 ".\ext" 并且它起作用了。
    • 我刚刚取消了;extension_dir = "ext" 的注释,它起作用了
    • 在同一台机器上有 2 个版本的 php7(一个带有 Apache,一个带有 IIS)。这是解决我的问题的唯一解决方案。 Apache 不断加载错误的 php 模块...
    【解决方案3】:

    必须将您的 php 路径添加到系统环境变量吗? 我以前遇到过这个问题。将“C:\php”添加到窗口系统环境变量后。有效!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 2010-10-26
      • 2016-03-14
      相关资源
      最近更新 更多