Я получаю странную паузу от 5 до 7 секунд при выполнении PHP-скриптов из PHP-клиента командной строки (PHP 5.2 на Windows).
Во время этой паузы PHP-скрипт просто появляется, чтобы «замораживаться» некоторое время, прежде чем вернуться в командную строку. Он не использует сколько-нибудь значительного времени процессора, это похоже на то, что он ждет некоторой задержки.
После экспериментов с PHP.ini я сузил это до того, что расширение mysql или mysqli включено. Если эти расширения отключены, никакая досадная пауза и PHP-скрипт не прекращаются всего за миллисекунды.
Команда, которую я использую:
"C:\Program Files\PHP\php.exe" -f %1
Где% 1 – скрипт PHP.
Пауза все еще встречается, даже если исполняемый скрипт PHP по существу пуст:
<?php ?>
Знаете ли вы, что вызывает эту паузу, и как я могу ее удалить, сохраняя при этом поддержку mysql или mysqli для PHP в командной строке?
это ошибка в mysql . вы можете решить эту проблему, получив последнюю версию libmysql.dll (5.1.31 или выше, некоторые старые версии также работают – см. вторую ссылку). убедитесь, что libmysql.dll действительно используется, и на вашем пути нет других libmysql.dll. более подробную информацию см. в связанной проблеме php .
Для меня (Zend Server CE в Mac OS X) причиной искажения было imapension. Отключение его решило проблему.
Anoyone хочет написать сценарий бисинтеза расширения PHP? 🙂
Я также испытал раздражающую 2-секундную задержку, запускающую PHP из командной строки под Windows 7 64bit.
Эта версия имела задержку:
php.exe (v5.3.5) поставляется вместе с ZendServer Community Edition
Эта версия была удивительно быстрой:
php.exe (v5.3.6) поставляется вместе с EasyPHP
(Извините, что ударил старую нить, но, надеюсь, это поможет другим разобраться в этой проблеме.)