[英]run shell command over named pipes from php
我在 php 中有一个适用于 docker 的应用程序。 我想通过命名管道从 php 发送命令。 如果我 go 从控制台到容器并运行此命令,那么它可以工作,但是从 php 代码没有任何反应。
命令示例:
system('echo "mkdir -p /some_new_dir" > hostpipe/mypipe');
// or another test
system('cat /application/file_with_command > /application/hostpipe/mypipe');
我尝试使用 exec/shell_exec/system 或 Symfony 进程,但没有帮助。 偶然发现了利用fopen
的信息,但我不确定如何使用它。 我像这样打盘,但没有成功:
$out = fopen(base_path("hostpipe/mypipe"),"w");
fwrite($out,"mkdir -p /some_new_dir");
fclose($out);
权限看起来不错,因为我制作了 chmod 并且例如它有效:
system('mkdir -p ' . base_path("/some_new_dir"))
PHP 进程所有者无权创建命名的 pipe 可能是权限问题。 我将使用system
或exec
而不是shell_exec
,以便您可以检查命令的 output。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.