Data da preparação: 15/08/2026.
Antes desta preparação, o PHP-FPM 8.1 não estava instalado:
/opt/alt/php-fpm81/ não existia
php-fpm81.service não existia
O arquivo 8.1_last_build.ini também não existia e não foi criado
manualmente. Ele deve ser gerado pelo painel ao clicar em Save Options.
Nenhuma instalação PHP já ativa, serviço, pool ou socket foi alterado durante esta preparação.
O PHP 8.1.34 é a última versão oficial da série 8.1. Essa série chegou ao fim do suporte oficial em 31/12/2025. O build permanece útil para compatibilidade com aplicações antigas, mas aplicações compatíveis devem preferencialmente ser migradas para uma série do PHP ainda suportada.
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/8.1.ini
Criado:
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.1/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
As referências aos quatro scripts pre_run abaixo foram removidas do
8.1.ini, mas os próprios arquivos não foram alterados:
php81.sh
gdavif.sh
ldap.sh
firebird.sh
O imap7.sh foi preservado porque o PHP 8.1 ainda contém a extensão IMAP no
core e usa as bibliotecas UW-IMAP.
O script antigo sodium.sh não foi alterado; ele deixou de ser chamado porque
Sodium agora é compilado diretamente do fonte oficial do PHP.
Os scripts memcached.sh e yaz.sh não estão associados a opções do
8.1.ini e não foram alterados.
O bloco [zlib] continha:
include=zlib-dirO arquivo também possuía uma seção separada [zlib-dir], que geraria o
argumento antigo e desnecessário:
--with-zlib-dir=/usr
A dependência e a seção redundante foram removidas. Isso evita que a interface
do CWP trate zlib-dir como uma segunda opção obrigatória e permite salvar
todas as escolhas normalmente.
O zlib continua selecionável e será compilado com:
--with-zlib=/usr
- O pre-script antigo
php81.sh, que recompilava um PCRE externo, foi removido. mbstring,pcntl,posix,shmopesocketspassam a ser compilados como módulos compartilhados.- 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. - O pre-script antigo do AVIF foi removido; a biblioteca já disponível no
sistema é usada por
--with-avif. - Os pre-scripts antigos de LDAP e Firebird foram removidos porque as bibliotecas e os headers do sistema já estão disponíveis.
Estas opções continuam no core do PHP 8.1 e foram preservadas:
pspell
imap
imap-ssl
kerberos
Depois do ajuste, o painel apresenta 63 opções válidas. Dessas, 50 geram
opções do configure, expandidas em 53 argumentos efetivos quando todas são
selecionadas.
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.12.0
PDO_SQLSRV 5.12.0
SSH2 1.5.0
Uploadprogress 2.0.2
Xdebug 3.5.3
SQLSRV e PDO_SQLSRV usam a versão estável 5.12.0. A linha 5.13 removeu o suporte ao PHP 8.1 e ao PHP 8.2; a linha 5.12 mantém suporte ao PHP 8.1 e seus metadados PECL declaram PHP 8.1 como versão mínima.
O Memcache 8.2 recebe a correção dos includes
php_smart_string*.h e é compilado em modo serial para evitar corrida de
compilação.
Os loaders são baixados diretamente dos fornecedores e validados antes da ativação:
ionCube: ioncube_loader_lin_8.1.so
SourceGuardian: ixed.8.1.lin
O opcache.sh valida e ativa OPcache e mbstring, cria um INI neutro para o
Sodium compilado no core 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
Motivos:
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 IMAP, Pspell, 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_php81_20260815_033000.backup
Configuração:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/8.1.ini.pre_php81_20260815_033000.backup
Scripts:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/apcu.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/imagick.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/ioncube.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/mailparse.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/mcrypt.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/memcache.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/mongodb.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/opcache.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/redis.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/sourceguardian.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/sqlsrv.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/ssh2.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/uploadprogress.sh.pre_php81_20260815_033000.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.1/xdebug.sh.pre_php81_20260815_033000.backup
Os SHA-256 dos 15 backups foram comparados com os originais antes da primeira alteração e todos coincidiram.
- O
8.1.inifoi carregado comparse_ini_file(): 63 seções válidas. - Não restou nenhuma dependência
includeinexistente. - Não existem seções duplicadas.
- Todos os scripts
.shdo diretório 8.1 passaram emsh -n. - Não restou referência indevida a caminhos ou loaders de outras versões do PHP nos arquivos modificados.
- As 12 URLs das versões PECL fixadas responderam corretamente e os arquivos compactados passaram no teste de integridade.
- Os metadados PECL das 12 versões aceitam o PHP 8.1.34.
- A versão SQLSRV/PDO_SQLSRV 5.12.0 foi conferida na matriz oficial da Microsoft para PHP 8.1.
- O Xdebug 3.5.3 foi conferido na matriz oficial de compatibilidade com PHP 8.1.
- Os arquivos oficiais de ionCube e SourceGuardian contêm loaders para PHP 8.1 e os arquivos compactados passaram no teste de integridade.
- O fonte oficial do PHP 8.1.34 teve o SHA-256 validado:
3c5b060ec8e0d5dd1d8237823f3161cc8bc5342aab3c46893eba9857759c4bfa. - O fonte foi submetido a um
configurereal com os mesmos 53 argumentos que o painel produzirá ao selecionar tudo. - O
configureterminou com código 0, sem opções desconhecidas ou erros. - O preflight confirmou IMAP com SSL e Kerberos, Pspell, pcntl, posix, shmop, sockets, AVIF, LDAP, PostgreSQL, PDO Firebird, Sodium e Argon2.
- A ausência de
opagentfoi registrada apenas como integração opcional de profiling do OPcache e não impede a compilação. - Os diretórios temporários das validações foram removidos.
- Nenhum build foi iniciado durante esta preparação.
O build iniciado pelo painel em 15/08/2026 terminou com a mensagem:
Build Completed
A instalação resultante é:
PHP 8.1.34 NTS
PHP API: 20210902
Zend Module API: 20210902
Zend Extension API: 420210902
O 8.1_last_build.ini foi criado pelo painel com as 63 opções selecionadas.
O bloco [version] contém major="8.1" e minor=""; esse campo vazio é
apenas metadado do painel. O fonte usado no log, o binário, php-config e
phpize confirmam a versão 8.1.34.
O PHP inicia sem warnings e as 44 extensões/recursos esperados ativos foram confirmados. As extensões externas reportaram:
APCu 5.1.28
Imagick 3.8.1
Mailparse 3.2.0
Memcache 8.2
MongoDB 2.3.3
Redis 6.3.0
SQLSRV 5.12.0
PDO_SQLSRV 5.12.0
Uploadprogress 2.0.2
ionCube 15.5.0
SourceGuardian 17.0.0
Os sete módulos compilados, mas mantidos desativados nos INIs, foram
carregados individualmente com php -n e aprovados:
mcrypt 1.0.9
pcntl 8.1.34
posix 8.1.34
shmop 8.1.34
sockets 8.1.34
ssh2 1.5.0
xdebug 3.5.3
Também foram confirmados:
- PDO com Firebird, MySQL, PostgreSQL, SQLite e SQL Server;
- GD com FreeType, JPEG, PNG, XPM, WebP e AVIF;
- IMAP c-client 2007f com SSL e Kerberos;
- Argon2i e Argon2id;
- Sodium compilado no core e funcional mesmo com
php -n; - OPcache ativo com otimização habilitada;
- 18 arquivos
.so, além dephpephp-fpm, sem dependências dinâmicas ausentes noldd.
O serviço php-fpm81.service ficou habilitado e ativo, com PID mestre
3286166. O teste php-fpm -t aprovou a configuração e o socket abaixo está
escutando:
/opt/alt/php-fpm81/usr/var/sockets/cwpsvc.sock
Ainda não existem pools de usuários em
/opt/alt/php-fpm81/usr/etc/php-fpm.d/users/. Por isso o PHP-FPM registra o
aviso de que o padrão users/*.conf não encontrou arquivos. Isso é esperado
enquanto nenhum site estiver atribuído ao PHP 8.1 e não afeta o pool cwpsvc.
O log contém avisos de getcwd entre alguns scripts porque o diretório de
trabalho anterior já havia sido removido. Cada script mudou para seu próprio
diretório válido e todas as extensões seguintes foram compiladas e instaladas.
Também apareceu uma mensagem isolada de criação concorrente de .libs
durante uma compilação paralela. O make terminou com sucesso e o módulo
resultante foi carregado e validado.
A mensagem final abaixo pertence somente à notificação do painel e não ao build do PHP:
Error:Can't add notification!
Não restaram diretórios temporários php81-* dos scripts externos em
/usr/local/src.
- Atualizar a página do CWP para recarregar o
8.1.ini. - Abrir
PHP-FPM Selector→ PHP8.1.34→ opções. - Marcar todas as 63 opções exibidas.
- Clicar em
Save Options. - Confirmar que o arquivo
8.1_last_build.inifoi criado pelo painel. - Iniciar o build do PHP 8.1.34.
- Acompanhar:
tail -f /var/log/php-selector-rebuild.logDepois do build, conferir:
/opt/alt/php-fpm81/usr/bin/php -v
/opt/alt/php-fpm81/usr/bin/php --ini
/opt/alt/php-fpm81/usr/bin/php -m
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.1/mongodb.sh