Я использую XAMPP в Windows Vista. XAMPP - это установка возрастом около одного года со всеми параметрами по умолчанию.
Я написал скрипт на PHP, который будет сканировать веб-страницы и помещать данные в mysql. я размещен set_time_limit(36000)
в исходном коде PHP, чтобы время ожидания сценария не истекло. Однако, поскольку я запускаю сценарий, направляя свой браузер к файлу PHP, кажется, что время ожидания браузера (Chrome и Firefox) истекло; а затем сценарий останавливается (т.е. сценарий работает нормально около минуты, а затем останавливается).
Вопросы:
php -v
и получил 'php' is not recognized as an internal or external command
.PATH
переменная окружения в Windows. Видеть документы PHP общие инструкции по настройке PHP из командной строки в Windows. В принципе, если вы хотите использовать PHP из командной строки, вам нужно добавить каталог, содержащий исполняемый файл PHP (возможно, C:\xampp\php
в вашем случае) к вашему PATH
переменная. Взгляни на это руководство для получения инструкций по внесению изменений в ваш PATH
переменная.C:\xampp\php\php.exe
но как только вы правильно установите PATH
переменная, как в шаге 1 выше, вы сможете просто ввести php
в командной строке.Чтобы решить проблему тайм-аута PHP при запуске сценария из браузера, вряд ли проблема связана с вашим браузером. Есть два отдельных php.ini
файлы конфигурации; один применяется к экземпляру PHP из командной строки, а другой - к экземпляру PHP, который использует Apache, поэтому убедитесь, что вы изменили правильный файл. Также следует иметь в виду, что Apache должен быть перезапущен, чтобы изменение конфигурации вступило в силу; лучше всего просто перезапустить весь стек.
Наконец, есть ли какая-то конкретная причина, по которой вы используете XAMMP, а не WAMP? Если вы не используете язык программирования Perl, я предлагаю вам скачать Установщик WAMP, который полностью интегрирован и настроит для вас все необходимые переменные среды, а также имеет отличную поддержку сообщества.
Редактировать: Я только что заметил, что вы на самом деле не упомянули об изменении каких-либо настроек в своем php.ini
файл, поэтому я думаю, что это, вероятно, ваша проблема с таймаутами. В твоем php.ini
файл вы найдете настройку для max_execution_time
который указывается в секундах. Измените его на значение, которое, по вашему мнению, более точно позволит вашему скрипту завершить обработку, например, установите для него значение max_execution_time = 300
чтобы ваши сценарии выполнялись не более 5 минут до истечения времени ожидания. Опять же, не забудьте перезапустить Apache после внесения этого изменения.
Для справки, выполнение любого вида веб-сканирования с помощью PHP-скрипта, вызываемого из браузера, - ужасная идея. Лучше запускать это как консольное приложение.
Вы должны иметь возможность запускать php из командной строки. Вам либо нужно будет перейти в папку установки XAMPP туда, где php.exe
живет или добавьте этот каталог в переменную окружения PATH.
У меня есть старая установка WAMP, и я нашел ее в C:\wamp\bin\php\php5.3.0\php.exe
:
C:\wamp\bin\php\php5.3.0>php.exe -v
PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies