Data da preparação: 15/08/2026.
Antes desta preparação, o PHP-FPM 8.0 não estava instalado:
/opt/alt/php-fpm80/ não existia
php-fpm80.service não existia
O arquivo 8.0_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.0.30 é a última versão oficial da série 8.0. Essa série chegou ao fim do suporte oficial em 26/11/2023. 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.0.ini
Criado:
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.0/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 três scripts pre_run abaixo foram removidas do
8.0.ini, mas os próprios arquivos não foram alterados:
php80.sh
ldap.sh
firebird.sh
O imap7.sh foi preservado porque o PHP 8.0 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.0.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
php80.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. - 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.0 e foram preservadas:
pspell
imap
imap-ssl
kerberos
O PHP 8.0 não oferece a opção gd-avif usada nas séries posteriores. Por isso
ela não foi inventada nem adicionada ao painel desta versão.
Depois do ajuste, o painel apresenta 62 opções válidas. Dessas, 49 geram
opções do configure, expandidas em 52 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, 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 1.20.1
Redis 6.3.0
SQLSRV 5.11.1
PDO_SQLSRV 5.11.1
SSH2 1.5.0
Uploadprogress 2.0.2
Xdebug 3.5.3
MongoDB foi fixado em 1.20.1, última linha compatível com PHP 8.0. A versão 1.21 já exige PHP 8.1.
SQLSRV e PDO_SQLSRV foram fixados em 5.11.1, linha compatível com PHP 8.0. A linha 5.12 removeu o suporte ao PHP 8.0.
O Memcache 8.2 recebe a correção dos includes php_smart_string*.h e é
compilado em modo serial. O MongoDB também é compilado em modo serial para
evitar uma corrida conhecida na criação do diretório .libs.
O loader do SourceGuardian é baixado diretamente do fornecedor e validado antes da ativação:
SourceGuardian: ixed.8.0.lin
A própria ionCube nunca publicou um Loader para PHP 8.0. O suporte do
fornecedor saltou do PHP 7.4 diretamente para o PHP 8.1, começando na versão
12 do Loader. Os pacotes oficiais atual e legado foram conferidos e nenhum
deles contém ioncube_loader_lin_8.0.so.
A opção ioncube permanece visível e pode ser marcada junto com todas as
outras. Seu script confirma que o PHP 8.0 principal foi instalado e termina
com sucesso, gravando somente um comentário em ioncube.ini. Assim, a
ausência oficial do Loader não interrompe o build e não é mascarada por um
arquivo incompatível ou de terceiros.
Consequentemente, ionCube não estará disponível no PHP 8.0.30.
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.
Todas as 62 opções visíveis no painel podem ser selecionadas.
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 compatíveis selecionados serão ativados, incluindo IMAP, Pspell, mbstring, OPcache, APCu, Imagick, Memcache, Redis, MongoDB, Uploadprogress, SourceGuardian, Mailparse, SQLSRV e PDO_SQLSRV. A única opção selecionada sem módulo correspondente será ionCube, pela limitação oficial descrita acima.
Foi criado um backup individual, anterior às alterações, para cada arquivo modificado. Todos usam o marcador:
pre_php80_20260815_164930.backup
Configuração:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/8.0.ini.pre_php80_20260815_164930.backup
Scripts:
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/apcu.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/imagick.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/ioncube.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/mailparse.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/mcrypt.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/memcache.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/mongodb.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/opcache.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/redis.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/sourceguardian.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/sqlsrv.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/ssh2.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/uploadprogress.sh.pre_php80_20260815_164930.backup
/root/cwp_bkp/usr_local_cwpsrv_htdocs_resources_conf_el8_php-fpm_selector/external_modules/8.0/xdebug.sh.pre_php80_20260815_164930.backup
Os SHA-256 dos 15 backups foram comparados com os originais antes da primeira alteração e todos coincidiram.
- O
8.0.inifoi carregado comparse_ini_file(): 62 seções válidas. - Não restou nenhuma dependência
includeinexistente. - Não existem seções duplicadas.
- Todos os scripts
.shdo diretório 8.0 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.0.30.
- MongoDB 1.20.1 foi conferido como compatível com PHP 8.0 nos metadados PECL.
- SQLSRV/PDO_SQLSRV 5.11.1 foi conferido na matriz oficial da Microsoft para PHP 8.0.
- O Xdebug 3.5.3 foi conferido na matriz oficial de compatibilidade com PHP 8.0.
- O arquivo oficial do SourceGuardian contém
ixed.8.0.line passou no teste de integridade. - Os pacotes oficiais atual e legado da ionCube foram conferidos; a ausência do Loader para PHP 8.0 corresponde à política publicada pelo fornecedor.
- O fonte oficial do PHP 8.0.30 teve o SHA-256 validado:
449d2048fcb20a314d8c218097c6d1047a9f1c5bb72aa54d5d3eba0a27a4c80c. - O fonte foi submetido a um
configurereal com os mesmos 52 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, LDAP, PostgreSQL, PDO Firebird, Sodium e Argon2.
- 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.0.30 NTS
PHP API: 20200930
Zend Module API: 20200930
Zend Extension API: 420200930
O 8.0_last_build.ini foi criado pelo painel com as 62 opções selecionadas.
O arquivo possui 63 seções ao incluir o bloco [version]. Nesse bloco,
major="8.0" 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.0.30.
O PHP inicia sem warnings e as 43 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 1.20.1
Redis 6.3.0
SQLSRV 5.11.1
PDO_SQLSRV 5.11.1
Uploadprogress 2.0.2
SourceGuardian 17.0.0
Como previsto, ionCube não está carregado. O arquivo ioncube.ini contém
somente o comentário que registra a indisponibilidade oficial do Loader para
PHP 8.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.0.30
posix 8.0.30
shmop 8.0.30
sockets 8.0.30
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 e WebP;
- 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 dephp,php-fpme SourceGuardian, sem dependências dinâmicas ausentes noldd.
O serviço php-fpm80.service ficou habilitado e ativo, com PID mestre
3574813 durante a validação. O teste php-fpm -t aprovou a configuração e o
socket abaixo está escutando:
/opt/alt/php-fpm80/usr/var/sockets/cwpsvc.sock
Ainda não existem pools de usuários em
/opt/alt/php-fpm80/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.0 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.
As mensagens not found da configuração do MongoDB são testes normais de
portabilidade para funções de outros sistemas operacionais. A ausência de
opagent é apenas uma integração opcional de profiling do OPcache.
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 php80-* dos scripts externos em
/usr/local/src.
- Atualizar a página do CWP para recarregar o
8.0.ini. - Abrir
PHP-FPM Selector→ PHP8.0.30→ opções. - Marcar todas as 62 opções exibidas.
- Clicar em
Save Options. - Confirmar que o arquivo
8.0_last_build.inifoi criado pelo painel. - Iniciar o build do PHP 8.0.30.
- Acompanhar:
tail -f /var/log/php-selector-rebuild.logDepois do build, conferir:
/opt/alt/php-fpm80/usr/bin/php -v
/opt/alt/php-fpm80/usr/bin/php --ini
/opt/alt/php-fpm80/usr/bin/php -m
/usr/local/cwpsrv/htdocs/resources/conf/el8/php-fpm_selector/external_modules/8.0/ioncube.sh