首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP命令行:如何读取键入的密码而不在控制台上显示键入的字符?

问PHP命令行:如何读取键入的密码而不在控制台上显示键入的字符?
EN

Stack Overflow用户
提问于 2009-10-24 06:02:50
回答 1查看 2.8K关注 0票数 1

我想读入一个口令作为命令行脚本的一部分,但不知道输入的口令会出现在屏幕上。这似乎是命令行应用程序中的一个相当常见的功能,但我的Google-fu未能识别它是如何工作的。它是操作系统的一项功能吗?您是否必须以某种方式截取输入流,以便它不会写出到控制台?我想在php命令行脚本中使用它,但我不能使用我不能理解的东西。

一些独立的搜索得到了this链接,在底部他们提到mysqladmin没有使用STDIN来读取密码。那么他们怎么做呢,我该如何实现这个功能呢?

EN

回答 1

Stack Overflow用户

发布于 2016-03-15 12:18:43

回答以防有人发现这是谷歌搜索。

这在纯PHP中是不可能的。解决方案是在Linux上执行一个小的shell脚本,或者在Windows上执行一个小程序。

对于zsh shell,shell脚本将如下所示:

代码语言:javascript
复制
/usr/bin/env zsh -c 'stty -echo; read -r mypassword; stty echo; echo $mypassword'

一个完整的工作实现是由来自Composer的Seldaek编写的,您可以在https://github.com/Seldaek/cli-prompt上找到

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1616167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档