> 백엔드 개발 > PHP 튜토리얼 > php exec运行linux命令不成功有关问题!求大家帮忙

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

WBOY
풀어 주다: 2016-06-13 13:36:55
원래의
1357명이 탐색했습니다.

php exec运行linux命令不成功问题!求大家帮忙!
环境:ubuntu server  
情景:使用web页面来修改samba的用户密码

详细描述: 例如 这句:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->exec("echo -e \"0\\n0\\n\"|sudo smbpasswd -as test3");
로그인 후 복사

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

Mismatch - password unchanged.
Unable to get new password.

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

但是 当我把里边的命令拿出来 放在系统命令行中运行,则会成功 !
下面是直接在命令行中运行的命令,nobody是我的apapche 用户,下面就是以apache用户来运行这条命令
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--> 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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿