#!/usr/bin/php -q
<?php
/*** PHP code exists here, instead of this comment,
to analyze incoming mail from STDIN, and then
to write analysis results to the log file. ***/
exit(0);
?>
该文件在具有755个权限的文件中,并且毫无问题地运行:即,电子邮件分析始终是正确计算和记录的。但是,没有运行未运行的全球过滤器,并且电子邮件不会传递给收件人,并且电子邮件不会弹回发件人。
instead,我什至尝试了以下“编程管道”作为第一个全局电子邮件过滤器的可执行文件:
#!/usr/bin/php -q
<?php
exit(0);
?>
这也导致了同样的问题:没有消息回到发件人,进一步的全局过滤器不会运行,并且消息不会传递给收件人。
如果我删除了这个初始的全局过滤器,那么所有电子邮件都经常处理,这意味着我所有其他全局过滤器都是正确的。
我的“管道编程”过滤器如何指定在成功完成“管道程序”过滤器完成后必须正常继续进行电子邮件过滤和处理?请记住(如上所述),我始终确保用exit(0);
终止“管道编程”代码。
您尚未过滤(您的程序不是过滤器)。
current: --> (my script) # no output #
target : --> (my script) -->
您阅读的输入流,必须转发到输出。 这些都是标准的流,Php
cli
sapi在
STDIN
和PHP:i/o streams -Manual(php.net)
。还请参见
命令行 - 如何在php
(q&a)中使用stdout。additiondition,您的脚本表明您正在利用cgisapi。那是错误的SAPI。仔细检查您并不错过。