When running the command php artisan mix:watch on Windows OS native terminal, the halt signal is not well handle and the mix.webpack.js is not automatically cleaned up.
The getSubscribedSignals method of the Winter's trait is never fired on Windows.
My investigations :
In the command process execution the Symfony console in his constructor set a signalsToDispatchEvent private variable if the SignalRegistry::isSupported() test is successful.
Application.php#L99-L102
The SignaRegistry::isSupported() method perform a test for PHP pcntl_signal support.
SignalRegistry.php#L40-L43
Currently, this module will not function on non-Unix platforms (Windows).
So ... No way to get halting signals on Windows OS while running Symfony console v6.2.xxx
In the next Synfony console version (6.3.xxx) a new architecture was introduced to better handle exit signals from command that works with Winter's commands.
Winter CMS Build
dev-develop
PHP Version
8.1
Database engine
MySQL/MariaDB
Plugins installed
No response
Issue description
When running the command
php artisan mix:watch
on Windows OS native terminal, the halt signal is not well handle and themix.webpack.js
is not automatically cleaned up.The
getSubscribedSignals
method of the Winter's trait is never fired on Windows.My investigations : In the command process execution the Symfony console in his constructor set a
signalsToDispatchEvent
private variable if theSignalRegistry::isSupported()
test is successful. Application.php#L99-L102The
SignaRegistry::isSupported()
method perform a test for PHPpcntl_signal
support. SignalRegistry.php#L40-L43The PHP PCNTL documentation says :
So ... No way to get halting signals on Windows OS while running Symfony console v6.2.xxx
In the next Synfony console version (6.3.xxx) a new architecture was introduced to better handle exit signals from command that works with Winter's commands.
But for now the 6.3.x Symfony console can't be installed due to Winter.Storm requirements :
"symfony/console": ">=6.0.9 <6.3.0",
Steps to replicate
Run a
php artisan mix:watch ...
command and press CONTROL+C to escape the run.Workaround
Use WSL on Windows OS .