欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php exec运行linux命令不成功有关问题!求大家帮忙

程序员文章站 2024-01-23 19:21:58
...
php exec运行linux命令不成功问题!求大家帮忙!
环境:ubuntu server
情景:使用web页面来修改samba的用户密码

详细描述: 例如 这句:
PHP code
exec("echo -e \"0\\n0\\n\"|sudo smbpasswd -as test3");

当我在 php页面中运行是 出现如下报错:

Mismatch - password unchanged.
Unable to get new password.

意思就是说,没有修改成功

但是 当我把里边的命令拿出来 放在系统命令行中运行,则会成功 !
下面是直接在命令行中运行的命令,nobody是我的apapche 用户,下面就是以apache用户来运行这条命令
PHP code
 sudo -u nobody echo -e "0\n0\n"|sudo smbpasswd -as test3


请大家看看 这是什么一个原因呢 ?

------解决方案--------------------
权限问题么?
用sudo权限执行你的php文件呢?

------解决方案--------------------
exec("echo -e \"0\\n0\\n\"|sudo smbpasswd -as test3");

双引号嵌套错误了,不是必须shell文件然后调用

exec('echo -e \"0\\n0\\n\"|sudo smbpasswd -as test3');
php exec运行linux命令不成功有关问题!求大家帮忙

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频