本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。
php无法运行外部命令怎么办?
问题描述:
(资料图片仅供参考)
我用准备用PHP来运行adb.exe来连接android手机,并与之通讯,但是使用exec(\"adb connect 192.168.1.10\",$out);或者system函数都不起作用,
比如说
exec(\"adb connect 192.168.1.10\",$out);print_r($out);
登录后复制
本来应该输出连接信息,或者错误信息,结果什么都没有,而我在cmd下面执行却没问题
最后没办法,用bat写命令,php执行bat,这倒可以,不过在php中执行bat好像windows的环境变量没有起作用
所以非常麻烦;
各位谁能帮个忙,告诉我如何用
exec(\"adb connect 192.168.1.10\",$out);
这种形式来执行
或者实现php执行bat过程中的环境变量
我试过doc的其他命令 像fc命令 可以用exec来执行
而fc命令通过调用c:\\windows\\system32\\fc.exe来工作的
但是我把我的adb复制进c:\\windows\\system32\\ 还是不行
!!!
解决办法:
首先你要确定是否 开启了安全模式。
安全模式 启用时,可仅可用 safe_mode_exec_dir 这个路径下执行文件
具体路径在php.ini中配置。配置项:safe_mode_exec_dir
下面是PHP官方的说明:
safe_mode_exec_dir
如果 PHP 使用了安全模式,system() 和其它程序执行函数将拒绝启动不在此目录中的程序。必须使用 / 作为目录分隔符,包括 Windows 中。
推荐学习:《PHP视频教程》
以上就是php无法运行外部命令怎么办的详细内容,更多请关注php中文网其它相关文章!