我通过 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 似乎让我可以解决这个问题。还有很多我不知道的地方,所以很遗憾,目前我无法提供更多信息。