【问题标题】:How to code a simple php5-fastcgi stdin stdout one time shot for now如何暂时编写一个简单的 php5-fastcgi stdin stdout
【发布时间】:2013-06-14 00:30:10
【问题描述】:

我需要有人给我一个示例代码或一些关于如何使用 cgi-fcgi 来执行 stdin/stdout 的简单说明。我为我的网络主机做了 phpinfo()。它说我使用的是 php 版本 5.2.17。我可能应该把它升级到他们的 5.3 版本,因为他们说这样更好。信息说 sapi 是 cgi/fastcgi。他们加载的配置文件是/web/conf/php5.ini。它们的 include_path 是 .:/usr/local/php5/lib/php。

我浏览了很多网站,试图弄清楚如何编写标准输入和标准输出。代码看起来很简单,但我的问题可能与包含的正确编码和其他问题有关。我从站点示例中复制了代码,但它们不起作用。我的虚拟主机帮不上什么忙。

我什至开始更改为带有 php_self 操作的表单,但我改变了主意。我真正需要的是某人用于标准输入的实际代码示例,并将在此基础上进行构建,但除了标准输入和输出以及一些错误日志之外,我可能不会使用它。

请帮助我。提前致谢!

奥德曼维特

【问题讨论】:

    标签: php stdin fastcgi


    【解决方案1】:

    要使用标准输入/标准输出,您必须像 files using the php:// wrappers 那样处理它们

    $stdin = fopen("php://stdin", "r");
    

    $strout = fopen("php://stdout", "w");
    

    然后您可以使用普通文件函数(fgets、fread、fputs 和 fwrite 等...)来操作这些值。

    【讨论】:

    • 这才是真正的问题@Orangepill。我从 php.net/manual/en/features.commandline.io-stream.php 复制了这段代码。然后我复制了我尝试 fgets($stdin,10) 无济于事的代码,($stdin 是来自 fopen 的文件句柄和字段限制为 10 个字节)。我过去曾将 io-stream 用于 errlog,但从未与控制台和键盘进行通信。似乎配置或 php.ini 文件中有一些东西。我假设由于 phpinfo 将加载的配置显示为 /web/conf/php5.ini 在我的根目录中不需要它。请坚持我的建议。谢谢。
    • 我今天早上 5 点左右醒来,以为可能存在不允许运行 io 流的安全设置。我查看了安全性,但没有发现任何看起来像问题的东西。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2012-07-08
    • 1970-01-01
    相关资源
    最近更新 更多