我正在用PHP进行一些LDAP开发,并且已经在PHP中遇到了一些可能是新手的值。
我的问题特定于LDAP_MODIFY,但可能是一般问题。我正在尝试更新属性,以下属性为我提供了一个未找到属性的错误:
$email = 'Whitegon024@thedomain.org';
$attributes = array( "userPrincipleName" => "$email");
但以下是成功的:
$attributes = array( "userPrincipalName" => 'Whitegon024@thedomain.org') ;
如果我做了print_r($attributes);
,我得到:
Array
(
[userPrincipleName] => Whitegon024@thedomain.org
)
有人有线索吗?我确信这是非常简单的事情。
答案 0 :(得分:5)
在第一次尝试时,你拼错了校长作为原则...它与你如何分配你的变量无关。
澄清 - attribute not found
并不意味着它看到索引userPrincipalName
的空值 - LDAP服务器说索引userPrincipleName
本身不存在作为a的属性校长的LDAP记录。
答案 1 :(得分:0)
PHP正在解析变量的双引号字符串。如果您不想进行解析,请使用单引号字符串。此外,即使您使用的是双引号字符串,也请使用{$var}
代替$var
。因此,您还可以解析数组{$someArray['someIndex']}
。
答案 2 :(得分:0)
将$attributes = array( "userPrincipleName" => "$email");
更改为$attributes = array( "userPrincipleName" => $email);