Запустите php-скрипт как фоновый процесс на wamp-сервере. - PullRequest
4 голосов
/ 20 ноября 2010

У меня есть два сценария php, которые нужно запускать как непрерывные фоновые процессы на сервере WAMP.

Wamp-сервер установлен в Windows 7 ПК. Эти сценарии уже находятся в отдельной папке в корневом каталоге www.

Версия Apache: 2.2.8
Версия PHP: 5.2.6

Так как это не платформа Unix, я не могу использовать nohup php script.php > /dev/null & команда, чтобы сделать эту работу. Я ищу подобный вид команды или метод, который работает на платформе Windows сервера Wamp.

Кто-нибудь может объяснить, какие шаги мне нужно предпринять для выполнения этой задачи?

Ответы [ 5 ]

10 голосов
/ 20 ноября 2010
  1. создайте командный файл для запуска вашего php-скрипта, используя исполняемый файл php «C: \ wamp \ php \ php.exe C: \ wamp \ www \ index.php»
  2. добавить этот пакетный файл в «Назначенное задание» на панели управления Windows.
8 голосов
/ 18 ноября 2013

Просто используйте эту функцию.Он работает в обеих ОС (Windows и Linux):

function execInBackground($cmd){
    if (substr(php_uname(), 0, 7) == "Windows"){ 
        pclose(popen("start /B ". $cmd, "r"));  
    }else{ 
        exec($cmd . " > /dev/null &");   
    } 
} 

Вот простой пример использования функции:

execInBackground('php feed/handleFeed.php db_name '.$second_param);

В приведенном выше примере мы запускаем скрипт handleFeed.php , который находится в папке с именем "feed" , и мы передаем 2 параметра (имя базы данных и некоторые другие вторые параметры).

0 голосов
/ 03 июля 2012

Вот что я сделал:

  1. PHP-файл

    <?php my code goes here ?>
    

    * Обратите внимание, если вы используете HTTP API / CURL в CLI, используйте dl("php_curl.dll");

    это загружает скручиваемость в кли

  2. Теперь я добавил PHP в переменную пути Windows, это можно сделать из моего компьютера, свойств, расширенных настроек, переменных среды, новых

  3. Затем я создал файл .bat, просто откройте блокнот и введите код ниже и сохраните как myfile.bat

    @ECHO OFF
    php -f d:\wamp\www\V3\task.php
    

    Этот сайт может помочь вам в синтаксисе .bat файла.

  4. Теперь создайте новое запланированное задание в Windows и вызовите указанный выше файл .bat в качестве источника,

0 голосов
/ 22 ноября 2010

Вы можете использовать «start» перед запуском фонового скрипта.Пример:

создать cron.cmd с помощью

start /B php.exe "path to your script 1"
start /B php.exe "path to your script 2"

Вы можете показать man о команде запуска:

  1. Win - R
  2. тип cmd
  3. тип help start
0 голосов
/ 20 ноября 2010

Между этим: http://php.net/manual/en/install.windows.commandline.php, и использованием утилиты "at" вы должны иметь возможность заставить ее работать.

...