Want more timely Centmin Mod News Updates?
Become a Member

PHP-FPM Several issues after Installation.

Discussion in 'Beta release code' started by wmtech, Aug 2, 2026 at 3:10 AM.

  1. wmtech

    wmtech Active Member

    188
    44
    28
    Jul 22, 2017
    Ratings:
    +139
    Local Time:
    11:08 AM
    Please fill in any relevant information that applies to you:
    • CentOS Version: Rocky Linux 9
    • Centmin Mod Version Installed: 140.00beta01
    • Nginx Version Installed: 1.31.3
    • PHP Version Installed: None, planned was 8.3
    • MariaDB MySQL Version Installed: 10.11
    • When was last time updated Centmin Mod code base ? : recent
    • Persistent Config:
    Centminmod version: 140.00beta01.b359 (git branch)
    OS: Rocky Linux 9 (kernel 5.14.0-687.31.1.el9_8.x86_64)
    PHP target version: 8.3


    During a fresh install with betainstaller83.sh, the initial PHP 8.3 source tarball download failed/was corrupted, and both the primary and fallback download attempts produced an unusable file. Instead of halting, the installer continued through the entire remaining install sequence (~14,000+ log lines), producing dozens of unrelated, confusing downstream errors that all stem from this single root cause.

    There should be a hard validation step immediately after PHP source download/extraction (around line 1093, inc/downloads.inc or wherever the extraction check lives): verify the extracted directory exists and contains a configure script before proceeding. On failure, abort the entire install with a clear fatal error, rather than continuing.

    Consider also validating tarball size/checksum before attempting extraction, to catch corrupted or truncated downloads earlier (in our case the file was ~757 KB vs the expected ~20-30 MB — trivially detectable).

    After installation there was no PHP on the server, so I tried to install PHP 8.3 again with centminmod menu option 5.

    This failed to because of 2 subsequent errors which also would warrant a fix:

    1) PHPGEOIP_ALWAYS should default to 'n' on PHP 8+, or the geoip install function should detect PHP major version ≥7 and skip/warn instead of attempting the doomed build. maxminddb (MaxMind's current library) is the working replacement and compiles cleanly on 8.3.

    2) minor PHP rebuilds don't trigger PECL extension reinstall

    In inc/php_upgrade.inc, reinstall logic for redis/timezonedb is gated behind PHP_MAJORUPGRADE='y' (only set when $PHPMUVER != $PHPCURRENTVER) combined with .ini-existence checks. A same-version PHP rebuild (e.g. 8.3.32 → 8.3.33 patch-level recompile) still wipes the compiled .so files from the extensions directory via make install, but because it's not flagged as a "major" upgrade and the stale .ini files still exist from before, redis/timezonedb/geoip never get rebuilt — leaving PHP silently missing those extensions until manually reinstalled via pecl install.

    The reinstall check should verify the actual .so file's presence in the current PHP extension API directory (e.g. /usr/local/lib/php/extensions/no-debug-non-zts-20230831/), not just whether the .ini file exists — since the .ini persists across rebuilds but the compiled binary does not.

    Hope this helps.