Maison > développement back-end > tutoriel php > fread读不到popen值,但在命令行下运行正常

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-23 14:13:37
original
1948 Les gens l'ont consulté

fread读不到popen值

$output = '';$pipe = popen($somecommand, 'r');	while(!feof($pipe)){ $output .= fread($pipe, 1024);}
Copier après la connexion
Copier après la connexion


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


回复讨论(解决方案)

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

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

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

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

$output = '';$pipe = popen($somecommand, 'r');	while(!feof($pipe)){ $output .= fread($pipe, 1024);}
Copier après la connexion
Copier après la connexion


在命令行下执行$somecommand可以正常显示,可运行上述代码时却取不到值,望达人协助。
你命令中加一个这个“2>&1”,我是在这里看到的:http://blog.csdn.net/kangear/article/details/9141481
我用的命令是dd,和你问题一样,加上那个就OK了。
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal