Hak*_*kim 3 php unix curl command-line-interface
我的问题涉及在 CLI 中使用 PHP。我不知道为什么将 PHP 文件的内容通过管道传递给 PHP 命令会起作用:
cat file.php | php
Run Code Online (Sandbox Code Playgroud)
就像安装 Composer Composer Installation 一样:
curl -sS https://getcomposer.org/installer | php
Run Code Online (Sandbox Code Playgroud)
如果您不向 PHP 提供任何参数,它会从标准输入(通常称为stdin)中读取。如果您的输出缓冲被禁用,您可以尝试php不带参数运行,然后输入<?php echo "test\n";+ Enter,您将看到“测试”。stdin是基本上您的键盘写,并且流stdout是基本上是你的终端,其中echo写入。

但是管道 ( |) 改变了这种行为:第一个程序的标准输出变成了第二个程序的标准输入。

这是我们的 nix 系统 shell 提供的非常强大的功能:-)。