Каждый раз, когда я запускаю PHP-скрипт через командную строку в Windows (либо в cygwin, либо в cmd), скрипт, кажется, выполняется несколько (6) раз, однако только выходные данные первого запуска отправляются на экран. Это очень странная проблема, которую сложно описать.
test.php:
<?php
$t = microtime();
error_log($t . "\n", 3, 'test.out');
echo $t;
?>
Я запускаю скрипт один раз , и вот результат
$ php test.php;
0.97800300 1292476780
$ cat test.out
0.97800300 1292476780
0.04000200 1292476781
0.09500200 1292476781
0.14700200 1292476781
0.19900200 1292476781
0.25600300 1292476781
В разных тестовых файлах и в разных версиях PHP он работает 6 раз.
Не имеет значения, запускаю ли я скрипт через cygwin или оболочку Windows.
Я пробовал использовать php5.2.6 и php5.2.7 и php5.2.11 - все установлено через WAMP.
Я попытался использовать strace, но его вывод был пустым - я никогда не использовал его в Windows раньше, возможно, моя установка cygwin не правильная. Я использую Windows 7, и проблема началась, когда я начал использовать Windows 7. У меня есть коллега, работающий с Windows 7, и у него точно такая же проблема, однако у всех (включая моего бывшего себя), работающего с Windows XP, вообще нет проблем с php CLI.
Надеюсь, я не пропустил ничего очевидного! Дайте мне знать что-нибудь еще, что я могу предоставить, и если у кого-то есть какие-либо идеи или советы, я был бы очень признателен!