Skip to content

Commit 970e982

Browse files
docs: document pcov and imagick incompatibilities in known issues
pcov is not thread-safe: it swaps the process-global zend_compile_file and zend_execute_ex engine hooks without synchronization, which races across threads and crashes (SIGSEGV) in classic mode (krakjoe/pcov#132). Imagick is unstable because ImageMagick's OpenMP threads conflict with FrankenPHP's threading model.
1 parent a9893b4 commit 970e982

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

docs/known-issues.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ The following extensions are known not to be compatible with FrankenPHP:
1313
| ----------------------------------------------------------------------------------------------------------- | --------------- |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
1414
| [imap](https://www.php.net/manual/imap.installation.php) | Not thread-safe | [javanile/php-imap2](https://github.com/javanile/php-imap2), [webklex/php-imap](https://github.com/Webklex/php-imap), [ImapEngine](https://github.com/DirectoryTree/ImapEngine) |
1515
| [newrelic](https://docs.newrelic.com/docs/apm/agents/php-agent/getting-started/introduction-new-relic-php/) | Not thread-safe | - |
16+
| [pcov](https://github.com/krakjoe/pcov) | Not thread-safe ([SIGSEGV in classic mode](https://github.com/krakjoe/pcov/issues/132)) | Collect coverage with the CLI SAPI (run PHPUnit/Pest outside FrankenPHP) |
1617

1718
## Buggy PHP extensions
1819

@@ -22,6 +23,7 @@ The following extensions have known bugs and unexpected behaviors when used with
2223
|---------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
2324
| [datadog](https://github.com/DataDog) | Experiences instability when profiling FrankenPHP. This bug is [being tracked by DataDog](https://github.com/DataDog/dd-trace-php/issues/3729). |
2425
| [blackfire](https://blackfire.io/) | [FrankenPHP support is in beta and not yet feature-complete](https://docs.blackfire.io/php/integrations/frankenphp). |
26+
| [imagick](https://github.com/Imagick/imagick) | ImageMagick's OpenMP threads conflict with FrankenPHP's threads, causing instability and crashes. Mitigate by disabling ImageMagick threading via `\Imagick::setResourceLimit(\Imagick::RESOURCETYPE_THREAD, 1)` or by compiling ImageMagick with `--disable-openmp`. OpenMP is already disabled in the static binaries and the official `apt`/`apk`/`rpm` packages, so only the Docker images and Homebrew installations are affected. |
2527

2628
## get_browser
2729

0 commit comments

Comments
 (0)