如果 httpd 未通过 cli 运行,则 Httpd + Expect Script 会失败(不再有 pty)

如果 httpd 未通过 cli 运行,则 Httpd + Expect Script 会失败(不再有 pty)

我通过 Vmware 拥有一个 CentOS 虚拟服务器。该服务器运行一个 httpd 守护进程,该守护进程为带有表单的 php 页面提供服务。用户填写表单,然后单击提交,php 页面将调用一个 expect 脚本。如果我通过默认的 init.d 脚本运行 httpd,我会收到“no more ptys”错误,但如果我通过 root 终端运行 httpd,脚本运行不会出现问题。如何让 httpd 运行 expect 脚本,而无需手动运行 httpd 守护进程。

答案1

如果你正在使用类似的东西system('expect ...');,我建议你看看 PHP 的本机 Expect 支持。它处理 PTY 的创建,并且比处理其他文件等更少混乱。

答案2

这种行为让我抓狂。禁用 SELinux 似乎让我可以解决这个问题。还有很多我不知道的地方,所以很遗憾,目前我无法提供更多信息。

相关内容