即使system()中的命令完成,PHP system()也会挂起
发布时间:2020-12-13 22:29:35 所属栏目:PHP教程 来源:网络整理
导读:我有一个像这样的代码: $file = fopen( "debug.txt","w" );$command = "myExe.exe param0 param1";fprintf( $file,"startingrn" );fflush( $file );system( $command );fprintf( $file,"the end...rn" );fflush( $file ); 它打
我有一个像这样的代码:
$file = fopen( "debug.txt","w" ); $command = "myExe.exe param0 param1"; fprintf( $file,"startingrn" ); fflush( $file ); system( $command ); fprintf( $file,"the end...rn" ); fflush( $file ); 它打印“开始”但不打印“结束……”. system()函数挂起. myExe.exe是一个用C编写的应用程序,它实际上终止了;即myExe的主要功能以这样的代码结束: FILE* f = fopen( "test.txt","w" ); fclose(f); return 0; test.txt已创建,这意味着“myExe.exe”正常工作并完成. 每次调用php文件时都不会出现这个问题;有时会挂起,有时会起作用…… 任何帮助和想法都会得到满足.提前致谢. 信息; 编辑:我的问题与我的调试文件无关.它是关于system()或exec()函数.我可以删除所有其他行. 我的PHP脚本适用于大约4/5次尝试.在调用system()之后,我调用了一些sql函数,但是当system()挂起时,我的页面会出现致命错误. 解决方法
在Windows上的PHP中有一个已知的错误(
http://bugs.php.net/bug.php?id=44942). 您可能需要尝试一种解决方法,在调用exec函数之前关闭会话(调用session_write_close()).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |