-
Notifications
You must be signed in to change notification settings - Fork 317
Troubleshooting
When possible, PsySH uses forking extensively to recover from fatal runtime errors. This requires the PCNTL extension, which is usually available on most Linux and macOS flavors of PHP.
There have been reports of PHP modules that don't play well with forking. For example, cURL with PKCS #11 crypto and PCRE regex with JIT.
If you run into issues with these or other extensions, you can temporarily disable forking in PsySH via the 'usePcntl' => false configuration option, but you should also file a bug with the offending module to get it resolved.
There also seems to be a bit of weirdness with process resources across forks (for example, see #441). If you often use proc_open, disabling forking should make it work as expected.
In PHP 5.x, install the runkit extension to get runtime code reloading in PsySH.
Unfortunately, due to limitations in PHP, PsySH does not support code reloading in PHP 7.x. To pick up changes to existing code, you'll need to restart PsySH. See more info than you ever wanted to know here.
In Windows (MSYS2) PHP, it may be necessary to increase max_execution_time to prevent PsySH from exiting after 30 seconds (see this comment for more).
Yeah 😕