PHPLDAP(php ldap admin)
一、无法加载动态库php_ldap.dll
解决方案:
windows下php_ldap.dll的安装()
载php_ldap.dll,用的是php-5.3.3-Win32-VC6-x86,所以要找对应的ldap版本,大约是149KB.
然后查看php手册的LXXV. LDAP Functions介绍,看到还有两个依赖库libeay32.dll and ssleay32.dll需要放到环境变量path里,由于这两个文件在php目录下,而且安装php时path已包含该路径,所以不需要设置,反之,就要放到windows能找到的目录了,比如win2000,就要复制到system32文件夹下。
然后,重启apache.
用phpinfo()查看加载成功。
PHP无法加载LDAP扩展的解决方法
扩展库是php扩展的功能,比如php本来不支持操作某种功能,但在新版本想对它提供支持,就以扩展的方式来提供,这样,我们在配置php时,如果我们不用此功能,我们就可以让php不加载他.从而节省服务器资源.提供其性能
php的扩展库一般放在php目录下的ext目录里.你在网上下载的php压缩包解压后应该可以看到.
php.ini中的 extension_dir用来指定你的扩展名的地址。
php.ini中有一排像;extension="xxxxxx.dll"的内容就是用来配置让你的php运行环境支持什么不支持什么。
以下为php.ini中的剪切段
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
PHP配置中出现不能加载模块的问题
在PHP配置出现不能加载模块之类的错误
加载LDAP模块的问题
在Windows XP环境下配置php和ldap容易出现 php中加载php_ldap.dll的问题
解决办法:
需要在C:\WINNT\SYSTEM32, or C:\WINDOWS\SYSTEM拷贝PHP安装目录中的libeay32.dll和ssleay32.dll即可
产生原因:
这是php本身带有的一个bug
二、php中,ldap验证的错误: 这个报错始终解决不了,可否相告~
在 LDAP的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP的根就是全世界,第一级是属于国别(countries)性质的层级,之后可能会有公司(organization)的层级,接着是部门(organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名(distinguished name,简称 dn),dn可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。
<?php
//本例使用到 connect, bind, search, interpret search
// result, close connection等等 LDAP的功能。
echo"<h3>LDAP搜寻测试</h3>";
echo"连接中...";
$ds=ldap_connect("localhost");//先连上有效的 LDAP服务器
echo"连上".$ds."<p>";
if($ds){
echo"Binding...";
$r=ldap_bind($ds);//匿名的 bind,为只读属性
echo"Bind返回".$r."<p>";
echo"Searching for(sn=S*)...";//找寻 S开头的姓氏
$sr=ldap_search($ds,"o=My Company, c=US","sn=S*");
echo"Search返回".$sr."<p>";
echo"S开头的姓氏有".ldap_count_entries($ds,$sr)."个<p>";
echo"取回姓氏资料...<p>";
$info= ldap_get_entries($ds,$sr);
echo"资料返回".$info["count"]."笔:<p>";
for($i=0;$i<$info["count"];$i++){
echo"dn为:".$info[$i]["dn"]."<br>";
echo"cn为:".$info[$i]["cn"][0]."<br>";
echo"email为:".$info[$i]["mail"][0]."<p>";
}
echo"关闭链接";
ldap_close($ds);
} else{
echo"<h4>无法连接到 LDAP服务器</h4>";
}
?>
三、怎么安装 php5-dev package
详细的PHP5安装方法
安装 PHP
1.php-5.1.2-Win32.zip,直接全部接压至D:\php\目录即可得PHP文件存放目录D:\php\
2.再将PHP5为D:\php\和子文件夹ext下的所有dll文件拷到c:\Windows\system32(win2000系统为 c:/winnt/system32/)下,覆盖已有的dll文件
3.将D:\PHP目录下的php.exe、php-win.exe和php.ini-dist三个文件拷到C:\Windows( Windows 2000下为 C:\WINNT)下;将C:\Windows\php.ini-dist改名为php.ini,然后用记事本打开,利用记事本的查找功能搜索
register_globals= Off
,将 Off改成 On;
extension_dir=
,并将其路径指到你的 PHP目录下的 extensions目录,比如:extension_dir="D:\php\ext";
将以下内容前面的;去掉
;extension=php_dbase.dll
可选
;extension=php_gd2.dll
这个是用来支持GD库的,一般需要,必选
;extension=php_ldap.dll
可选
;extension=php_mbstring.dll
这不选一般用PHPMYADMIN会出红色提示,故必选
;extension=php_mssql.dll
这个是用来支持MSSQL的,可选
;extension=php_mysql.dll
这个是用来支持MYSQL的,要支持MYSQL必选
4.Internet服务管理器---网站(右键)---属性---主目录---配置---添加---扩展名为.php,单击“浏览”将可执行文件指向 php5isapi.dll所在路径,如:D:\php\php5isapi.dll
5.Internet服务管理器---Web信息管理器---添加一个新的web扩展程序---输入:PHP,再将可执行文件指向 php5isapi.dll所在路径---允许
5.将以下代码复制到一个文本文件内,保存为.bat文件并运行
net stop w3svc
net stop iisadmin
net start w3svc
6.新建一个网站在网站目录下建立a.php内容为
<?
phpinfo();
?>
检测是否成功