WAMP и pcntl_fork

Есть ли способ заставить pcntl_fork работать в WAMP? Мне нужно разработать решение forking и проверить его локально.

Нет, это невозможно. Для расширения PCNTL требуются * nix-платформы.

Теперь, с учетом сказанного, что вы пытаетесь сделать, и можете ли вы решить его без наложения …?

Изменить: некоторые альтернативы запуску фоновых процессов:

  • Unix / Linux:

    exec('nohup php yourscript.php > /dev/null 2>&1 &'); 
  • Окна;

     $com = new Com('WScript.shell'); $com->run('php yourscript.php', 10, false); 

    Документацию по аргументам см. По адресу : http://msdn.microsoft.com/en-us/library/d5fk67ky(v=vs.85).aspx

решение псевдокода:

 while (TRUE) { $process_limit = get_process_limit(); $process_count = get_process_count(); if process count < process limit: { // get_row returns a row (as an array) from the DB that needs to be processed $row = get_row(); if($row === array()) { // Nothing to process; sleep sleep(2); } else { // Process row process_count(+1); process_row($row); process_count(-1); } } elseif process count === process limit { // Do not add to the process exit; } elseif process count > process limit { // Means the process limit was decreased // Terminate this process instance process_count(-1); exit; } } 

Это уже ответили, но я думал, что добавлю 2p.

Вы можете иметь pcntl-fork с php в windows, используя cygwin.

Это настоящая боль для установки, но если мне нравится, вы просто хотите запустить скрипт php cli, это ваш лучший выбор.

У меня есть инструкции отсюда :