PHP脚本在命令行上仅调用一次时执行多次。只有第一次运行的输出被发送到标准输出

PHP脚本在命令行上仅调用一次时执行多次。只有第一次运行的输出被发送到标准输出,php,windows-7,cygwin,command-line-interface,Php,Windows 7,Cygwin,Command Line Interface,每次我在windows(cygwin或cmd)中通过命令行调用PHP脚本时,脚本似乎会运行多次(6次),但只有第一次运行的输出才会发送到屏幕的输出。这是一个非常奇怪的问题,有点难以描述 test.php: <?php $t = microtime(); error_log($t . "\n", 3, 'test.out'); echo $t; ?> 在不同的测试文件和不同版本的PHP中,它似乎始终运行6次。 不管我是通过cygwin还是windows shell运行脚本。 我尝试过

每次我在windows(cygwin或cmd)中通过命令行调用PHP脚本时,脚本似乎会运行多次(6次),但只有第一次运行的输出才会发送到屏幕的输出。这是一个非常奇怪的问题,有点难以描述

test.php:

<?php
$t = microtime();
error_log($t . "\n", 3, 'test.out');
echo $t;
?>
在不同的测试文件和不同版本的PHP中,它似乎始终运行6次。 不管我是通过cygwin还是windows shell运行脚本。 我尝试过使用php5.2.6、php5.2.7和php5.2.11——所有这些都是通过WAMP安装的。 我尝试使用strace,但它的输出是空白的——我以前从未在windows上使用过它,也许我的cygwin安装不正确。我使用的是windows 7,问题是从我开始使用windows 7时开始的。我有一个同事在运行Windows7,他也有同样的问题,但是每个运行WindowsXP的人(包括我以前的同事)在php CLI上都没有任何问题


我希望我没有遗漏任何明显的东西!让我知道我能提供的任何其他信息,如果有人有任何想法或建议,我将不胜感激

这真的很奇怪。。。 试试这个


因此,我正在使用的PHP版本/构建中似乎出现了错误,因为使用不同版本的PHP进行测试不会产生相同的错误。很明显,我在上面的帖子(和昨天的测试)中犯了一个错误,并没有正确地使用不同的版本进行测试

更新的test.php

<?php
$t = microtime();
error_log($t."\n", 3, $argv[1]);
echo $t;
?>

因此,我想在这个阶段,我只能断定这是我为5.2.6开发的php版本中的一个bug:
PHP5.2.6(cli)(构建:May 2 2008 18:02:07)

基本上也是这样,但只有最后一次运行的时间以test.out结束,因为默认情况下,文件\u put\u contents()覆盖了一个文件,而不是附加它。我提供的脚本实际上只是试图说明问题。导致此问题的实际原因是我正在通过php cli运行selenium测试,每个测试都运行6次。因此,可能与SeleniumI有关。我不认为是这样。这就是我提供上述示例的原因。因此,我似乎在以前的测试中犯了一个错误,因此在上面的帖子中也犯了一个错误。我必须只尝试使用PHPV5.2.6,只安装其他版本。
<?php
$t = microtime();
file_put_contents('test.out', $t);
echo $t;
?>
<?php
$t = microtime();
error_log($t."\n", 3, $argv[1]);
echo $t;
?>
Paul@Paul-Macbook-W7 ~
$ /cygdrive/c/wamp/bin/php/php5.2.6/php test.php test-526.out
0.20960200 1292539753
Paul@Paul-Macbook-W7 ~
$ cat test-526.out
0.20960200 1292539753
0.27060200 1292539753
0.32160200 1292539753
0.37460200 1292539753
0.42460200 1292539753
0.47660200 1292539753

Paul@Paul-Macbook-W7 ~
$ /cygdrive/c/wamp/bin/php/php5.2.7/php test.php test-527.out
0.32660200 1292539767
Paul@Paul-Macbook-W7 ~
$ cat test-527.out
0.32660200 1292539767

Paul@Paul-Macbook-W7 ~
$ /cygdrive/c/wamp/bin/php/php5.2.11/php test.php test-5211.out
0.70760500 1292539776
Paul@Paul-Macbook-W7 ~
$ cat test-5211.out
0.70760500 1292539776