如果执行的命令写入剪贴板,则 passthru 挂起

passthru hangs if the executed command writes to the clipboard

将其放入文件 "a.php" 并执行。它工作得很好:

#!/usr/bin/php
<?php
$p = popen('xclip -i -selection clipboard', 'w');
fwrite($p, 'Hello Word');
pclose($p);

现在创建一个文件"b.php"并执行它:

#!/usr/bin/php
<?php
passthru('./a.php');

它永远挂着。为什么?

(如果没有xclip,可以用apt-get install xclip安装)

"xclip -i -selection clipboard > /dev/null" 应该修复它

xclip 不关闭 STDOUT。

相关:this questions answer