php stdin是什么意思,php:// input和php:// stdin之间有什么区别?

不同之处在于您希望使用它们的环境. php:// stdin,php:// stdout和php:// stderr直接映射到相关的

POSIX file streams,旨在与CLI SAPI一起使用.另一方面,php:// input和php://输出旨在用于基于Web的SAPI.

尝试从命令行运行这两个命令:

printf "foo" | php -r "var_dump(file_get_contents('php://stdin'));"

printf "foo" | php -r "var_dump(file_get_contents('php://input'));"

你会得到这样的输出:

Command line code:1:

string(3) "foo"

Command line code:1:

string(0) ""

因为php://输入期望被WebI使用,如CGI或mod_php,并且不会获得传递给它的STDIN的内容.同样,尝试使用php:// stdin读取原始POST数据(php://输入的唯一实际用途)将失败.

php://输出通常可以在两种环境中使用,但它很少使用,因为可以简单地回显输出. php:// stdout是命令行代码更合理的选择,尽管再次使用echo通常更容易.

php:// stderr对于需要将信息,调试或错误消息输出到与程序输出不同的流的命令行程序员来说当然是无价之宝.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值