Data da preparação: 15/08/2026.
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/8.4.ini
Criado:
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.4/build_pecl_module.sh
Modificados:
apcu.sh
imagick.sh
ioncube.sh
mailparse.sh
mcrypt.sh
memcache.sh
mongodb.sh
opcache.sh
redis.sh
sourceguardian.sh
sqlsrv.sh
ssh2.sh
uploadprogress.sh
xdebug.sh
O arquivo 8.4_last_build.ini ainda não existia e não foi criado
manualmente. Ele deve ser regenerado pelo painel ao clicar em
Save Options.
As referências aos quatro scripts pre_run foram removidas do
8.4.ini, mas os próprios arquivos não foram alterados:
php84.sh
gdavif.sh
ldap.sh
firebird.sh
Os scripts antigos mbstring.sh e sodium.sh também não foram
alterados; eles deixaram de ser chamados porque essas extensões agora são
compiladas diretamente do fonte oficial do PHP.
O bloco [zlib] continha:
include=zlib-dirPorém não existia nenhuma seção [zlib-dir] no 8.4.ini. O JavaScript
do CWP interpretava isso como uma dependência obrigatória ausente e exibia:
Option: zlib
Dependencies: zlib-dir
A referência quebrada foi removida. O zlib continua selecionável e será compilado normalmente com:
--with-zlib=/usr
mbstring,pcntl,posix,shmopesocketspassam a ser compilados como módulos compartilhados.- O
mbstringdeixa de baixar um binário externo e é compilado do próprio fonte do PHP 8.4.24. - O PCRE interno do PHP é usado com
--without-external-pcre. - LDAP usa a sintaxe válida
--with-ldap=/usr --with-ldap-sasl. - PDO Firebird usa as bibliotecas do sistema em
/usr. - Sodium é compilado do core com
--with-sodium. - A segunda seção duplicada de
calendarfoi removida. - A opção
kerberosfoi removida porque--with-kerberosnão existe no PHP 8.4.24. Ela era uma opção sem efeito deixada pelo CWP após a remoção do IMAP do core do PHP.
Depois do ajuste, o painel apresenta 60 opções válidas.
O novo build_pecl_module.sh usa diretórios temporários exclusivos,
downloads HTTPS com falha explícita, versões fixadas, compilação paralela,
verificação do arquivo .so, verificação de bibliotecas dinâmicas e
criação determinística do arquivo .ini.
Versões fixadas:
APCu 5.1.28
Imagick 3.8.1
Mailparse 3.2.0
Mcrypt 1.0.9
Memcache 8.2
MongoDB 2.3.3
Redis 6.3.0
SQLSRV 5.13.3
PDO_SQLSRV 5.13.3
SSH2 1.5.0
Uploadprogress 2.0.2
Xdebug 3.5.3
O Memcache 8.2 recebe a correção dos includes
php_smart_string*.h e é compilado em modo serial para evitar a corrida
observada no build do PHP 8.5.9.
Os loaders são baixados dos fornecedores e validados antes da ativação:
ionCube: ioncube_loader_lin_8.4.so
SourceGuardian: ixed.8.4.lin
O opcache.sh é específico para o PHP 8.4. O OPcache 8.4 é sempre
compilado como opcache.so, diferentemente do comportamento observado no
PHP 8.5. O script valida e ativa OPcache e mbstring, e mantém os módulos
sensíveis comentados nos respectivos arquivos .ini.
Todos os módulos visíveis no painel podem ser selecionados.
Serão compilados, porém permanecerão desativados:
mcrypt
pcntl
posix
shmop
sockets
ssh2
xdebug
Os motivos são os mesmos adotados no PHP 8.5.9:
pcntl: controle de processos, sinais e forks; inadequado para uso geral em servidor web compartilhado.posix: expõe funções e informações POSIX do sistema.shmop: acesso direto à memória compartilhada do sistema.sockets: sockets de baixo nível, clientes, servidores e daemons.ssh2: shell remoto, execução remota, SCP, SFTP e túneis SSH.xdebug: ferramenta de desenvolvimento e depuração, inadequada para produção.mcrypt: extensão obsoleta e não mantida; deve ser substituída por OpenSSL ou Sodium.
Os demais módulos selecionados serão ativados, incluindo mbstring, OPcache, APCu, Imagick, Memcache, Redis, MongoDB, Uploadprogress, ionCube, SourceGuardian, Mailparse, SQLSRV e PDO_SQLSRV.
Foi criado um backup individual, anterior às alterações, para cada arquivo modificado. Todos usam o marcador:
pre_php84_20260815_003034.backup
Configuração:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/8.4.ini.pre_php84_20260815_003034.backup
Scripts:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/apcu.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/imagick.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/ioncube.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/mailparse.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/mcrypt.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/memcache.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/mongodb.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/opcache.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/redis.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/sourceguardian.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/sqlsrv.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/ssh2.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/uploadprogress.sh.pre_php84_20260815_003034.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.4/xdebug.sh.pre_php84_20260815_003034.backup
Os SHA-256 dos backups foram comparados com os originais antes da primeira alteração e todos coincidiram.
- O
8.4.inifoi carregado comparse_ini_file(): 60 seções válidas. - Não restou nenhuma dependência
includeinexistente. - Todos os scripts
.shdo diretório 8.4 passaram emsh -n. - Todas as URLs das versões PECL fixadas responderam com HTTP 200.
- Os arquivos oficiais de ionCube e SourceGuardian contêm loaders para PHP 8.4.
- O fonte oficial do PHP 8.4.24 foi submetido a um
configurereal com os mesmos 49 argumentos que o painel produzirá ao selecionar tudo. - O
configureterminou com sucesso, sem opções desconhecidas, warnings ou erros. - O preflight confirmou mbstring, pcntl, posix, shmop, sockets e OPcache, além de LDAP, PostgreSQL e PDO Firebird.
- Os diretórios temporários do preflight foram removidos depois do teste.
- Atualizar a página do CWP para recarregar o
8.4.ini. - Abrir
PHP-FPM Selector→ PHP8.4.24→ opções. - Marcar todas as 60 opções exibidas.
- Clicar em
Save Options. - Iniciar o build do PHP 8.4.24.
- Acompanhar:
tail -f /var/log/php-selector-rebuild.logDepois do build, conferir:
/opt/alt/php-fpm84/usr/bin/php -v
/opt/alt/php-fpm84/usr/bin/php --ini
/opt/alt/php-fpm84/usr/bin/php -m
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.4/apcu.sh