AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 72447
Accepted
Salamander2007
Salamander2007
Asked: 2009-10-09 00:47:01 +0800 CST2009-10-09 00:47:01 +0800 CST 2009-10-09 00:47:01 +0800 CST

如何在 PHP - Windows Server 2008 中启用 LDAP

  • 772

我已经使用 Web 平台安装程序在我的 Win Server 2008 中安装了 PHP。安装成功,我可以从我的虚拟目录正确显示 phpinfo 页面。如何启用 LDAP 支持?c:\Program Files\PHP\Ext\不包含php_ldap.dll. 我必须先下载这个文件吗?

编辑 :

  • 我用的是 Win Svr 2008 标准版,更新到最新补丁
  • PHP 版本是 5.2.11
  • extension_dir 是 c:\Program Files\PHP\ext\(由 phpinfo() 确认)
  • 我已经下载了完整的 PHP zip 包(10 兆),并且:将 ext dir 的内容复制到 c:\Program Files\PHP\ext\
  • 我已经修改了 php.ini 以包含 php_ldap.dll 扩展
  • 这是我的phpinfo 测试页面的屏幕截图

并且 LDAP 扩展仍然无法正常工作。

windows-server-2008
  • 7 7 个回答
  • 58610 Views

7 个回答

  • Voted
  1. Best Answer
    Sam Cogan
    2009-10-09T01:00:21+08:002009-10-09T01:00:21+08:00

    您最好的选择是从PHP.net站点下载最新的 Zip 版本的 PHP,并从中获取 DLL 并从中提取 DLL 文件。

    不知道为什么它不包含在网络平台安装程序中,似乎有点奇怪。

    • 3
  2. Rik Danner
    2012-04-04T10:42:49+08:002012-04-04T10:42:49+08:00

    我必须在 IIS 中启用该模块

    在 Windows Server 2008r2 上启动 iis 管理器

    导航到根站点。

    下载、安装并启动 php 管理器(不会通过 WPI 与 WordPress 一起安装)。

    滚动到底部并单击“启用或禁用扩展程序”

    向下滚动到禁用部分单击 php_ldap.dll 以突出显示,然后在操作下的右上角部分单击“启用”

    退出并为安装“WordPress”时通过“Microsoft Web 平台安装程序”安装的 PHP 5.3.1 安装 ldap。

    • 2
  3. MartinK
    2014-07-16T05:42:08+08:002014-07-16T05:42:08+08:00

    在我的例子中:
    * Windows Server 2008 R2
    * PHP 5.3 通过 WebPlatformInstaller
    * IIS

    错误行是:

    PHP Fatal error:  Call to undefined function ldap_connect() in ...Tageskonto.php on line 19
    

    已帮助扩展文件
    * c:\program files (x86)\php\v5.3\php.ini
    以加载 dll:

    [ExtensionList]
    extension=php_ldap.dll
    
    • 2
  4. sybreon
    2009-10-09T01:25:31+08:002009-10-09T01:25:31+08:00

    在 Linux 上,LDAP 通常是 PHP 的可选扩展,需要单独安装。Windows 也可能是这种情况。

    • 0
  5. blank3
    2009-10-13T22:30:24+08:002009-10-13T22:30:24+08:00

    如果您在 PHP 的扩展部分取消了 php_ldap.dll 的注释,我相信 PHP 没有正确读取php.ini.

    • IIRC 我总是将 PHP 安装到路径中没有空格的路径(例如C:\PHP)。
    • 尝试复制C:\program files\php\php.ini到C:\windows\并重新启动 Apache/IIS。

    也许其中一些对你有帮助。

    • 0
  6. James Hawkwind
    2009-10-13T23:13:24+08:002009-10-13T23:13:24+08:00

    因此,您可能需要在phpinfo()中检查以下内容:

    1. 如果您使用的是 IIS,请检查以确保您的 IIS 工作进程在 NTFS 上对您的“C:\Program Files\PHP”目录具有读取权限。这个工作进程可以是NETWORK SERVICE或IWAM_<computername>或LOCAL SYSTEM(我希望不是)。
    2. 当你加载phpinfo(); 在输出中检查以下行以确保它们位于您期望的位置:
      -- extension_dir
      -- 加载的配置文件
      这些项目需要位于您期望它们报告的位置,而不是从其他地方加载。
    3. 您还需要将文件添加到系统的“PATH”:libeay32.dll和ssleay32.dll,并且可能需要重新启动系统才能使用;正如一些用户所记录的那样,将 PATH 放在 PATH 变量的开头附近可能会消除一些问题。这记录在这里:http ://us2.php.net/manual/en/ldap.installation.php
    • 0
  7. Nathan
    2014-01-21T12:17:43+08:002014-01-21T12:17:43+08:00

    我没有阅读足够的原始问题来看到他已经启用了 php_ldap.dll,但那是我的问题。

    在最近(2014 年初)的 WPI 安装中,php_ldap.dll它已经准备就绪,只是没有在php.ini.

    1. 的输出phpinfo()不包括 ldap 部分
    2. 以管理员身份编辑PHP.ini(请参阅 phpinfo() 获取完整路径...我的恰好在C:\Program Files (x86)\iis express\PHP\v5.4\php.ini
    3. WPI 将启用的模块放在文件的底部。添加extension=php_ldap.dll
    4. phpinfo()立即显示 ldap 部分。
    • 0

相关问题

  • 文件复制到分支机构

  • 对于 ASP.Net 应用程序,Windows 64 位相对于 32 位的主要优势是什么?

  • Windows Server 2008 Hyper-V 虚拟化服务器的最佳 RAID 配置?

  • 远程连接 sql server 不工作,但如果防火墙禁用它呢?

  • 无法从 SQL Server 2008 备份数据库

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve