В *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 #фоновые процессы #Чулан
-
Pspi — Запуск Плагинов Photoshop Под Gimp!
19 Oct, 24 -
По Поводу Создания Русско-Патриотических Игр
19 Oct, 24 -
Скорость Загрузки Библиотек Javascript
19 Oct, 24 -
Как Стать Saas-Провайдером?
19 Oct, 24