fread读不到popen值,但在命令行下运行正常

WBOY
Freigeben: 2016-06-23 14:13:37
Original
1858 Leute haben es durchsucht

fread读不到popen值

$output = '';$pipe = popen($somecommand, 'r');	while(!feof($pipe)){ $output .= fread($pipe, 1024);}
Nach dem Login kopieren
Nach dem Login kopieren


在命令行下执行$somecommand可以正常显示,可运行上述代码时却取不到值,望达人协助。


回复讨论(解决方案)

你需要确认:
1、$somecommand 是进程而不是线程
2、$somecommand 是向标准输出写的

这种应用在测试环境玩玩还可以。如果正式环境出于安全考虑禁用了此类函数,那不就玩完了?

你需要确认:
1、$somecommand 是进程而不是线程
2、$somecommand 是向标准输出写的

这种应用在测试环境玩玩还可以。如果正式环境出于安全考虑禁用了此类函数,那不就玩完了?
很久没来CSDN了,唠叨版主亲自解答,先行谢谢。之前也有考虑安全与效率问题想换成socket去调用;这边再请教下唠叨:在PHP中如果类似的应用有什么比较好的解决方案,从而可以获取调用的值?谢谢

$output = '';$pipe = popen($somecommand, 'r');	while(!feof($pipe)){ $output .= fread($pipe, 1024);}
Nach dem Login kopieren
Nach dem Login kopieren


在命令行下执行$somecommand可以正常显示,可运行上述代码时却取不到值,望达人协助。
你命令中加一个这个“2>&1”,我是在这里看到的:http://blog.csdn.net/kangear/article/details/9141481
我用的命令是dd,和你问题一样,加上那个就OK了。
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage