Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed creating a new instance of a Process in Windows #820

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gabrielgoncalfreitas
Copy link

This change will resolve a problem that occurs when creating a new process in Windows. Environment variables (PATH) are not passed properly to the Process class instance.

This change will resolve a problem that occurs when creating a new process in Windows. Environment variables (PATH) are not passed properly to the Process class instance.
@gabrielgoncalfreitas gabrielgoncalfreitas changed the title Update Browsershot.php Fixed creating a new instance of a Process in Windows Feb 28, 2024
@gabrielgoncalfreitas
Copy link
Author

If these new parammeters in Process are not set, this error will occurs on Windows:

image
image

In short, it is due to the fact that the environment variables must be passed correctly to create a new instance of the Symfony Process class.

Setting NODE_PATH="C:\path\to\node.exe", PATH="${PATH}", setIncludePath, setNodeBinary, etc is not enough.

@gabrielgoncalfreitas
Copy link
Author

gabrielgoncalfreitas commented Feb 28, 2024

Log:


Exit Code: 1(General error)

Working directory: C:\Users\gabri\Documents\projects\fng\b_mansteel\public

Output:
================


Error Output:
================
'node' is not recognized as an internal command
or external, an operable program or a batch file.
 {"exception":"[object] (Symfony\\Component\\Process\\Exception\\ProcessFailedException(code: 0): The command \"node \"C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\spatie\\browsershot\\src/../bin/browser.cjs\" \"{\"\"url\"\":\"\"file:\\/\\/C:\\\\Users\\\\gabri\\\\AppData\\\\Local\\\\Temp\\\\633274185-0441953001709132810\\\\index.html\"\",\"\"action\"\":\"\"pdf\"\",\"\"options\"\":{\"\"path\"\":\"\"romaneio.pdf\"\",\"\"args\"\":[],\"\"viewport\"\":{\"\"width\"\":800,\"\"height\"\":600},\"\"displayHeaderFooter\"\":false,\"\"format\"\":\"\"a4\"\"}}\"\" failed.

Exit Code: 1(General error)

Working directory: C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\public

Output:
================


Error Output:
================
'node' is not recognized as an internal command

or external, an operable program or a batch file.

 at C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\spatie\\browsershot\\src\\Browsershot.php:1062)
[stacktrace]
#0 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\spatie\\browsershot\\src\\Browsershot.php(672): Spatie\\Browsershot\\Browsershot->callBrowser()
#1 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\routes\\web.php(178): Spatie\\Browsershot\\Browsershot->savePdf()
#2 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\CallableDispatcher.php(40): Illuminate\\Routing\\RouteFileRegistrar->{closure}()
#3 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(237): Illuminate\\Routing\\CallableDispatcher->dispatch()
#4 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php(208): Illuminate\\Routing\\Route->runCallable()
#5 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(806): Illuminate\\Routing\\Route->run()
#6 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(144): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#7 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Middleware\\SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#8 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#9 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#10 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#11 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\View\\Middleware\\ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#12 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#13 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#14 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Session\\Middleware\\StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#15 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Session\\Middleware\\StartSession->handle()
#16 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#18 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Cookie\\Middleware\\EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#20 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(805): Illuminate\\Pipeline\\Pipeline->then()
#22 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(784): Illuminate\\Routing\\Router->runRouteWithinStack()
#23 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(748): Illuminate\\Routing\\Router->runRoute()
#24 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Router.php(737): Illuminate\\Routing\\Router->dispatchToRoute()
#25 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#26 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(144): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#27 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#29 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#30 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#31 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#32 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#33 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#34 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#35 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance.php(99): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#36 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#37 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\HandleCors.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#38 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Http\\Middleware\\HandleCors->handle()
#39 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Http\\Middleware\\TrustProxies.php(39): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#40 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(183): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#41 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Pipeline\\Pipeline.php(119): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#42 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#43 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\Http\\Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#44 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\public\\index.php(51): Illuminate\\Foundation\\Http\\Kernel->handle()
#45 C:\\Users\\gabri\\Documents\\projects\\fng\\b_mansteel\\vendor\\laravel\\framework\\src\\Illuminate\\Foundation\\resources\\server.php(16): require_once('...')
#46 {main}
"} ````

@freekmurze
Copy link
Member

Seems like this makes the tests fail. Could you take a look?

@gabrielgoncalfreitas
Copy link
Author

Hello, Freek! Sure!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants