gpt4 book ai didi

php - Shell 脚本命令 "ldap_search"无法与 php exec 或 shell_exec 命令一起使用

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:16 26 4
gpt4 key购买 nike

我正在开发一个代码,该代码使用ldap_search Shell 脚本命令,通过用户 ID 和正确的LDAP 服务器身份验证从 Active Directory 中提取用户信息。我从 ldap_search 脚本获得准确的结果。

但是,每当我将 shell 脚本放入 execshell_exec PHP 命令中时,我什么也得不到。

除了 ldap_search 之外,所有其他 shell 脚本在 PHP exec 命令的帮助下都可以正常工作。

还有什么额外的任务需要我去做吗?

ldap_searchexec/shell_exec 彼此不兼容吗?

最佳答案

您必须使用echo exec('your command or script');

确保拥有运行它的权限。我的意思是,网络用户必须有权执行该操作。

可能看起来很明显,但我认为你的失败在于这样的基本问题。您必须输入 echo 来显示命令的结果。

编辑在阅读您关于它的新评论并使用新信息后...我看到您正在尝试将输出重定向到文件...但也许您有两个不同的问题。

  1. 执行 php 的用户(通常是 www-data)是否有权在 php 所在的文件夹上写入内容?

  2. 您的代码在引号内包含引号,必须使用 .试试这个:

<?php exec("ldapsearch -x -v -h 'LDAP://server' -p '389' -D 'uid=\"domain_user_id\",ou=users,ou=internal,o=\"organization\"' -w 'domain_password' -b 'ou=users,ou=internal,o=organization' 'uid=person's_user_id' >> result.txt"); ?>

因此,如果您想要在文件中输出,则不需要 echo。以及重定向>>可以在执行的命令内部,而不是在 php 中。

请记住>替换 de 文件和您拥有的 >>添加到文件末尾。

关于php - Shell 脚本命令 "ldap_search"无法与 php exec 或 shell_exec 命令一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41736151/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com