Запуск Фоновых Процессов Из Php В Windows

В *nix запуск фоновых процессов осуществляется простым добавлением к команде амперсанда (&).

В Windows это не так просто сделать с помощью PHP. Если вы используете функции системного вызова в PHP, такие как exec, system, passthru или Shell_exec, эти методы приводят к зависанию программы, пока она ожидает завершения вызванного процесса.

Описанные ниже методы предполагают, что вы используете PHP-CLI (работаете с PHP из командной строки).

Запуск PHP на веб-сервере требует правильной настройки и разрешений, таких как Safe_mode, Safe_mode_exec_dir и т. д. Например, мы хотим вызвать cmd из PHP, но программа продолжает выполнять действия.

Примеры ниже не работают. exec("CMD"); exec("cmd > NUL"); exec("cmd /c cmd"); exec("запустить /b cmd"); exec("runas cmd"); В каждом случае PHP ожидает закрытия cmd. В комментариях к документации PHP упомянуто несколько обходных путей.

функции exec() Краткое изложение этих методов в порядке предпочтения: Запуск процесса с помощью popen и pclose Этот код должен работать в Linux и Windows. $exe = «cmd.exe»; pclose(popen('start "bla" "'.

$exe. '" '.

escapeshellarg($args), 'r')); Запуск фонового процесса с использованием объекта WScript.Shell Этот код работает только в Windows. $WshShell = новый COM("WScript.Shell"); // Запускаем cmd в свернутом состоянии $oExec = $WshShell-> Run("cmd", 7, false); // Запускаем cmd в фоновом режиме, значок на панели задач не отображается $oExec = $WshShell-> Run("cmd /C dir /S %windir%", 0, false); Узнайте больше о методе Run().

читай на мсдн.

Запуск фонового процесса с помощью утилиты PsExec Этот метод требует установки бесплатной утилиты.

PsTools от Sysinternals exec("psexec -d cmd.exe"); Автор этого текста root{Dog}imcms.ru может отправить ему инвайт. Теги: #php #фоновые процессы #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.