Вам повезло, у меня просто есть класс, который вам может показаться интересным
https://github.com/ArtisticPhoenix/MISC/blob/master/BgProcess.php
Он способен выполнять фоновую команду как в Windows, так и в Linux (автоматически)
Соответствующий код Windows выглядит следующим образом:
$WshShell = new \COM('WScript.Shell');
$cmd = 'cmd /C '.$phpPath.' '.$script;
$oExec = $WshShell->Run($cmd, 0, false);
Где $phpPath
- это путь к файлу приложения php.exe
, а $script
- команда.Вышеупомянутый класс оборачивает это и фон linux put & at the end
в дружественный интерфейс.
PS Код Windows занял немного времени для разработки ...:)
Класс очень простиспользуйте, например:
new BgProcess('path to php file to run', 'arg1', 'arg2' ...);
И это все.Поскольку это команда оболочки, все «аргументы» должны быть строками.
Вы также можете найти эти полезные
https://github.com/ArtisticPhoenix/MISC/blob/master/ProcLock.php блокировка одного процесса, т.е. мьютекс для php.
https://github.com/ArtisticPhoenix/Cli Менеджер аргументов командной строки, который также находится на композиторе.
ура.