ctrlaltdelme wrote a reply+100 XP
5mos ago
Ah, my mistake.
So after reboot he should be good. That's good to hear and confirms what I thought would fix the port issue too. I also thought it could be Herd since I had him try installing that the other day too since he was having some other issues with npm before lol.
This should be what his composer.json looks like. I walked through making these changes this morning. The changes should just be:
- Removing
laravel/pailfromrequire-dev - Removing
php artisan pailfrom thedevcommand
{
"$schema": "https://getcomposer.org/schema.json",
"name": "laravel/vue-starter-kit",
"type": "project",
"description": "The skeleton application for the Laravel framework.",
"keywords": [
"laravel",
"framework"
],
"license": "MIT",
"require": {
"php": "^8.2",
"inertiajs/inertia-laravel": "^2.0",
"laravel/fortify": "^1.30",
"laravel/framework": "^12.0",
"laravel/tinker": "^2.10.1",
"laravel/wayfinder": "^0.1.9"
},
"require-dev": {
"fakerphp/faker": "^1.23",
"laravel/boost": "^1.8",
"laravel/pint": "^1.24",
"laravel/sail": "^1.41",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.6",
"pestphp/pest": "^4.1",
"pestphp/pest-plugin-laravel": "^4.0"
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"scripts": {
"setup": [
"composer install",
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
"@php artisan key:generate",
"@php artisan migrate --force",
"npm install",
"npm run build"
],
"dev": [
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"npm run dev\" --names=server,queue,logs,vite --kill-others"
],
"dev:ssr": [
"npm run build:ssr",
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"php artisan inertia:start-ssr\" --names=server,queue,logs,ssr --kill-others"
],
"test": [
"@php artisan config:clear --ansi",
"@php artisan test"
],
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force",
"@php artisan boost:update --ansi"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi",
"@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
"@php artisan migrate --graceful --ansi"
],
"pre-package-uninstall": [
"Illuminate\\Foundation\\ComposerScripts::prePackageUninstall"
]
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"allow-plugins": {
"pestphp/pest-plugin": true,
"php-http/discovery": true
}
},
"minimum-stability": "stable",
"prefer-stable": true
}
ctrlaltdelme liked a comment+100 XP
5mos ago
Pail is not for logging. Pail is for viewing logs. Your logs will still be logged without it, just use something else to view them on Windows. I personally use Notepad++ with "monitoring" mode (like tail -f).
Your error about ports 8000, 8001 etc is not about Pail at all, it's about php artisan serve can't use already used port. I think this error will be gone after reboot.
Another reason is you messed up your composer.json, can you show it and the error?
ctrlaltdelme wrote a reply+100 XP
5mos ago
ctrlaltdelme liked a comment+100 XP
5mos ago
There is no pcntl extension on Windows. So, it is unable to use Pail on Windows.
Luckily, latest Laravel installer deliberately removes php artisan pail --timeout=0 from composer.json dev script when running in Windows:
...
"scripts": {
"dev": [
"Composer\\Config::disableProcessTimeout",
"npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite --kill-others"
],
and it becomes this:
"npx concurrently -c \"#93c5fd,#c4b5fd,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"npm run dev\" --names='server,queue,vite'"
It happens when you set up new project with laravel new project-name and doesn't happen if you act old way like this: composer create-project laravel/laravel project-name
So, remove php artisan pail --timeout=0 from composer.json / scripts / dev and after that you will be able to run composer dev on Windows.
ctrlaltdelme wrote a reply+100 XP
5mos ago
I'm not entirely sure. From Googling the error it seems to be an issue with Windows. It should have been fixed in a newer version of Pail that we are using (since this is a new project, it should be using the latest version with the fix), but he gets the error when running composer dev saying that extension is required to run Pail. Is there anything we can check to ensure it's actually installed on his machine? I did not have these issues on Linux. I ran the commands from the Laravel documentation to install composer, php and the Laravel installer and was off to the races.
ctrlaltdelme started a new conversation+100 XP
5mos ago
I'm working on a hobby project with a friend from work. I'm working in Linux and he's on Windows. We're using my repo as the base. When he cloned the repo and went to run npm install and composer install, it ran successfully, but then when he tried to run composer dev he gets an error regarding pcntl. The error says "The [pcntl] extension is required to run Pail". Temporarily, I told him to update composer.json to remove the dev requirement for Pail and remove it from the "dev" command. This isn't a long-term solution since Pail is the logging framework lol. We're looking for a more long-term solution so that he doesn't have to remove those lines.
Lastly, after doing that, we started running into an issue when running composer dev, the local server couldn't bind to 8006, 8007, 8008, 8009, and 8010, then the processes in the dev command exit with code 1.
Is there a fix for these issues so we can seamlessly dev between Windows and Linux? I don't have a Windows environment to develop, and my friend won't do well in Linux :D
ctrlaltdelme wrote a reply+100 XP
5mos ago
ctrlaltdelme started a new conversation+100 XP
5mos ago
When running tests for my Inertia + Vue app, I get the error in the title. Logs here:
[2025-11-26 00:59:39] local.ERROR: The process has been signaled with signal "4". {"exception":"[object] (Symfony\\Component\\Process\\Exception\\ProcessSignaledException(code: 0): The process has been signaled with signal \"4\". at /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/process/Process.php:461)
[stacktrace]
#0 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/process/Process.php(251): Symfony\\Component\\Process\\Process->wait()
#1 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/nunomaduro/collision/src/Adapters/Laravel/Commands/TestCommand.php(119): Symfony\\Component\\Process\\Process->run(Object(Closure))
#2 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): NunoMaduro\\Collision\\Adapters\\Laravel\\Commands\\TestCommand->handle()
#3 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#4 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure(Object(Closure))
#5 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod(Object(Illuminate\\Foundation\\Application), Array, Object(Closure))
#6 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\\Container\\BoundMethod::call(Object(Illuminate\\Foundation\\Application), Array, Array, NULL)
#7 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call(Array)
#8 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/console/Command/Command.php(318): Illuminate\\Console\\Command->execute(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#9 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Illuminate\\Console\\OutputStyle))
#10 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/console/Application.php(1073): Illuminate\\Console\\Command->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#11 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/console/Application.php(356): Symfony\\Component\\Console\\Application->doRunCommand(Object(NunoMaduro\\Collision\\Adapters\\Laravel\\Commands\\TestCommand), Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#12 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/symfony/console/Application.php(195): Symfony\\Component\\Console\\Application->doRun(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#13 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(197): Symfony\\Component\\Console\\Application->run(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#14 /home/ubuntuserver/PhpstormProjects/shelvdgg/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(1235): Illuminate\\Foundation\\Console\\Kernel->handle(Object(Symfony\\Component\\Console\\Input\\ArgvInput), Object(Symfony\\Component\\Console\\Output\\ConsoleOutput))
#15 /home/ubuntuserver/PhpstormProjects/shelvdgg/artisan(16): Illuminate\\Foundation\\Application->handleCommand(Object(Symfony\\Component\\Console\\Input\\ArgvInput))
#16 {main}
"}