php - 如何使用来自 php 网页的 expect 脚本?

标签 php linux exec rsync expect

当我尝试在我的 debian 上从 php5 执行程序时,网页卡住并且程序什么也不做。 当我从命令行调用它时,该脚本有效。安全模式被禁用。 Echo 标准输出不起作用(因为卡住)。 我在谷歌中阅读了一些关于 www 权限的答案,但如果这里有人有快速简单的回复......

如何调试?

php调用

exec("expect scripts/sshtest.exp $module");

脚本代码(我在这里找到 http://bash.cyberciti.biz/security/expect-ssh-login-script/ )

#!/usr/bin/expect -f
# set Variables
set module [lrange $argv 0 0]
set timeout -1
# rsync 
spawn rsync -aCb --progress --delete --backup-dir=/var/www/blabla.com/rsyncBackups/BackupedFilesFromServer23_on_  /var/www/blabla/$module  -e ssh root@10.10.10.10:/root/$module
match_max 1000000
# Look for passwod prompt
expect "*?assword:*"
# Send password 
send -- "THEPASSWORD\r"
# send blank line (\r) to make sure we get back to gui
send -- "\r"
expect eof

最佳答案

尝试

passthru("expect scripts/sshtest.exp $module 2>&1");

2>&1stderr 重定向到 stdout 并使用 passthru 而不是 exec 将为您提供所有输出。

关于php - 如何使用来自 php 网页的 expect 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1026607/

相关文章:

php - 让用户提供图片链接是否安全?

php - Mysql从php脚本插入空白字段,但不在phpmyadmin中插入空白字段?

c - 在 C 程序中使用 Picocom 来读/写流

sql-server - 复制 SQL Server 2016 数据库的内容

Android linux deploy(localhost LAMP服务器配置)

javascript - 从 AJAX 调用获取结果到 javascript 变量

php - 在主题激活时将小部件添加到自定义 WordPress 侧边栏?

Python 2.7 在执行后不保留其 ulimits?

python - 通过 Exec 在 C 中运行 Python 脚本?

Linux 上的 Java Runtime.exec 问题