我用ssh2_connect
连接到远程服务器。 在我的安全日志中,我得到了
Feb 22 11:41:57 centos sshd[3243]: Accepted publickey for subscr from 83.166.241.41 port 53306 ssh2 Feb 22 11:41:57 centos sshd[3243]: pam_unix(sshd:session): session opened for user subscr by (uid=0)
所有的shell命令工作,但我试着“crontab -e”我的PHP脚本挂起
在crontab
日志中我看到
Feb 22 11:41:57 centos crontab[3248]: (subscr) BEGIN EDIT (subscr)
我试过“crontab -r”命令,它的工作原理。 在crontab日志中我看到
Feb 22 11:41:37 centos crontab[3205]: (subscr) DELETE (subscr)
所以我猜GUESS的所有权限都没问题。
我的问题是为什么PHP脚本只有当我运行时挂起
ssh2_exec($conn, "crontab -e");
crontab -e
发布交互式编辑器来修改正在运行的用户的crontab
。 如果你正在php
中运行,你很可能没有本地terminal和任何可以显示编辑器的东西(除非你有一些特殊的模拟器,否则无法在浏览器中显示它)。