Request for Review of All Bundled PHP Runtime Builds
General PHP runtime compatibility / packaging issue
General PHP runtime compatibility / packaging issue
I have identified what appears to be a compatibility problem with the bundled/custom PHP runtime. Although the issue was reproduced on PHP 8.3, I am requesting that the PHP packaging and runtime configuration be reviewed across all PHP versions shipped by Panelica, rather than treating this as a PHP 8.3-only issue.
The application being tested works correctly when served through the operating system's stock PHP-FPM, but returns HTTP 500 when served through the corresponding Panelica-bundled PHP-FPM runtime. The application files, database, web server configuration, and server remain the same; the PHP runtime is the variable that changes.
To eliminate other layers, I also started the bundled PHP-FPM manually with an isolated temporary configuration and private FastCGI socket, then sent a request directly with cgi-fcgi. This bypassed nginx, Apache, ModSecurity, reverse proxy handling, and Panelica's normal systemd/socket management. The bundled PHP-FPM process started successfully and accepted FastCGI connections, but the application still returned HTTP 500.
Optional extensions including APCu, DBA, igbinary, memcache, MongoDB, ODBC, Redis, and Swoole were disabled for testing. The failure remained, which suggests the problem is not simply one of those optional extensions.
Observed comparison
• Operating-system stock PHP-FPM: HTTP 200• Panelica bundled PHP-FPM: HTTP 500
• Same application files and database in both tests
• Direct isolated FastCGI test reproduces the failure under the bundled runtime
Why I am requesting a review of every PHP version
The Panelica PHP builds appear to rely heavily on private runtime libraries under /opt/panelica/services/php/<version>/lib/runtime rather than using only the host operating system libraries. This includes core dependencies such as OpenSSL, libcrypto, curl, libxml2, ICU, oniguruma, zip, and other libraries.Because this packaging model is shared across the PHP versions offered by the control panel, a defect in build flags, RPATH/RUNPATH handling, bundled library versions, ABI compatibility, or extension linking could potentially affect more than one PHP release even if the current reproducible case was found on PHP 8.3.
I have also previously encountered a separate problem involving a bundled PHP extension and private runtime library linking. That makes it worthwhile to review the common PHP build and packaging process itself, rather than only applying an application-specific workaround.
Areas I would appreciate being reviewed across all bundled PHP versions
• PHP build/configure flags and consistency between supported PHP versions.• RPATH/RUNPATH settings on the PHP binaries and shared extensions.
• Private libraries under /opt/panelica/services/php/<version>/lib/runtime and /opt/panelica/lib/compat.
• ABI compatibility between PHP extensions and the libraries they load.
• OpenSSL/libcrypto, curl, libxml2, ICU/intl, oniguruma/mbstring, zip, sodium, and related runtime dependencies.
• OPcache startup and PHP-FPM pool configuration, including any php_admin_value overrides.
• Whether extensions unexpectedly pull incompatible private libraries into the PHP-FPM process.
• Whether the same compatibility tests are run against PHP 8.1, 8.2, 8.3, 8.4, and 8.5 builds before release.
• Whether a simple automated test can compare bundled PHP-FPM against a standard distribution PHP-FPM using the same application and FastCGI request.
Additional diagnostic observation
During the isolated bundled PHP-FPM test, the FPM log also reported the following OPcache warning:Zend OPcache can't be temporary enabled (it may be only disabled till the end of request)
I do not know whether this warning is the direct cause of the HTTP 500, but it may be useful when reviewing how OPcache is initialized by the bundled PHP-FPM builds and per-domain pool configuration.
Request
Could the Panelica team please review the PHP runtime build and packaging process for all PHP versions currently distributed by Panelica, not only the version on which this was reproduced?In particular, I would appreciate verification that each bundled PHP binary and its extensions are linked against compatible runtime libraries and that the private library/RPATH design does not introduce behavioral differences from a standard PHP-FPM installation.
I can provide PHP module lists, phpinfo comparisons, ldd output, PHP-FPM pool configuration, and the isolated FastCGI reproduction steps if they would help reproduce or diagnose the issue.
Short reproduction summary:
Same application + same database + same web stack
Stock PHP-FPM -> HTTP 200
Panelica bundled PHP-FPM -> HTTP 500
~Tater