开发者

LDAP Auth on WAMP [closed]

Closed. This question is off-topic. It is not currently accepting answers.

Want to improve this question? Update the question so it's on-topic for Stack Overflow.

Closed 10 years ago.

Improve this question

I'm trying to write some LDAP authentication code on my WAMP server.

I'm using this:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

$ldapconfig['host'] = 'my.server.province.country';
$ldapconfig['port'] = 389;
$ldapconfig['basedn'] = 'DC=x,DC=y,DC=z,DC=x1';
$ldapconfig['authrealm'] = 'My Realm';

ldap_connect($ldapconfig['host'], $ldapconfig['port']) or die ('Could not connect');

echo 'connected';
?>

I'm getting this error:

Fatal error: Call to undefined function ldap_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\oplweb\index.php on line 10

From some basic Googling, it looks like I need to turn on mod_ldap. Seems simple. I've done the following:

  • Went to C:\Program Files\Apache Software Foundation\Apache2.2\modules and made sure that mod_ldap.so exists.
  • I've gone into C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf and made sure that this line is not commented out: LoadModule ldap_module modules/mod_lda开发者_如何转开发p.so
  • I've gone into C:\Program Files\PHP\php.ini and made sure this line is not commented out: extension=php_ldap.dll
  • Restart apache

The problem still persists. Does the ldap_connect() function in php have any other dependencies? Am I missing a step?

Cheers


I ran into this same issue with my Windows Server 2008 - Have you added the php.ini file to your windows path?


Go to Control Panel and open the System icon (Start -> Settings -> Control Panel -> System, or just Start -> Control Panel -> System for Windows XP/2003+)

Go to the Advanced tab

Click on the 'Environment Variables' button

Look into the 'System Variables' pane

Find the Path entry (you may need to scroll to find it)

Double click on the Path entry

Enter your PHP directory at the end, including ';' before (e.g. ;C:\php)

Press OK


Check your phpinfo to make sure ldap is enabled. You should see an LDAP section, and

Support | enabled

You may have php set to auto-enable anything in your extension dir, or you may have to manually enable it by uncommenting a line that looks like:

extension=php_ldap.dll

in your php.ini file

Remember to restart apache after you enable it.


If you're connecting to an Active Directory, you can use this class which doesn't require any special PHP extension: http://sourceforge.net/projects/adldap/


for WAMP, the working version of php.ini is located at apache\bin. i was experienced same problem before until i change php.ini setting inside apache\bin and finally it works.


I ran into the same problem recently and I searched for php.ini on my disk and found that there are two php.ini files there -- one under the php directory and the other under the apache\bin directory. I uncommented the extension=php_ldap.dll line in both files and the problem is solved.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜