PHP com FastCGI — testes e php.ini por site
TL;DR
Teste PHP criando um info.php e abra no navegador para confirmar CGI/FastCGI. Cada site pode usar seu próprio php.ini ou alterar opções individuais via -d no php-cgi. Reinicie o Apache após mudanças.
4 Testes
Agora vamos criar um pequeno ficheiro PHP de teste, por exemplo no site www.example1.com:
vi /srv/www/web1/web/info.phpInsira o conteúdo seguinte:
Abra esse ficheiro no navegador: http://www.example1.com/info.php. Se tudo correr bem, a saída do phpinfo deverá ser semelhante a esta e você verá CGI/FastCGI na linha Server API:

Importante: mantenha o ficheiro info.php temporário. Ele expõe muita informação sobre a configuração do servidor.
5 php.ini personalizado para cada site
Como cada site usa o seu próprio script wrapper php-fcgi-starter, é possível definir php.ini diferentes por site. Exemplo: copiar o php.ini padrão para o diretório do site /srv/www/web2/ e ajustar permissões:
cp /etc/php5/fastcgi/php.ini /srv/www/web2/
chown web2:web2 /srv/www/web2/php.ini(Agora você pode editar /srv/www/web2/php.ini conforme necessário.)
Edite o script wrapper do site para apontar para o novo PHPRC:
vi /srv/www/php-fcgi-scripts/web2/php-fcgi-starterSubstitua ou ajuste a linha PHPRC para apontar para /srv/www/web2/:
#!/bin/sh
PHPRC=/srv/www/web2/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgiReinicie o Apache depois de alterar o script:
/etc/init.d/apache2 restartCrie um novo info.php para www.example2.com:
vi /srv/www/web2/web/info.phpConteúdo:
Abra no navegador: http://www.example2.com/info.php. Na linha Loaded Configuration File deverá aparecer /srv/www/web2/php.ini:

6 Alterar configurações únicas do PHP
Se preferir não passar um php.ini completo, pode alterar opções individuais adicionando o switch -d ao executável php-cgi no script wrapper. Exemplo: desabilitar magic_quotes_gpc para www.example2.com.
Abra o wrapper:
vi /srv/www/php-fcgi-scripts/web2/php-fcgi-starterAjuste para incluir o parâmetro -d:
#!/bin/sh
PHPRC=/etc/php5/fastcgi/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi -d magic_quotes_gpc=offReinicie o Apache:
/etc/init.d/apache2 restartAbra novamente http://www.example2.com/info.php e procure pela linha magic_quotes_gpc — deverá mostrar Off:

7 Links úteis
- mod_fcgid: http://fastcgi.coremail.cn/
- Apache: http://httpd.apache.org/
- PHP: http://www.php.net/
- OpenSUSE: http://www.opensuse.org/
Quando isso pode falhar
- PHPRC incorreto: se PHPRC não apontar para um diretório válido com php.ini, o PHP usará a configuração padrão.
- Permissões: o ficheiro php.ini deve ser legível pelo usuário que executa o processo PHP-FastCGI.
- Variáveis conflitantes: combinar php.ini personalizado e flags -d pode gerar comportamento inesperado. Prefira uma abordagem clara.
Abordagens alternativas
- Usar poolers FastCGI geridos (por exemplo, systemd socket-activated) em vez de scripts shell, para melhor supervisão.
- Usar PHP-FPM quando disponível; facilita pools por site e configurações por pool.
- Para aplicações isoladas, conteiners (Docker) oferecem isolamento completo da configuração do PHP.
Checklist por função
Administrador de sistemas:
- Verificar PHPRC e permissões do php.ini.
- Reiniciar Apache após alterações.
- Remover info.php quando terminar os testes.
Desenvolvedor:
- Confirmar valores de ini_set e overrides funcionam como esperado.
- Testar funcionalidades dependentes de configurações (ex.: upload_max_filesize, memory_limit).
Mini-metodologia de implantação rápida
- Criar php.ini de teste em /srv/www/nomedosite/php.ini.
- Ajustar php-fcgi-starter para PHPRC apontar para o diretório do site.
- Reiniciar Apache e validar via phpinfo().
- Monitorar logs de erro por 24–48 horas.
- Promover para produção quando validado.
Snippets / Cheat sheet
- Reiniciar Apache:
/etc/init.d/apache2 restart- Exemplo mínimo de wrapper com override de opção:
#!/bin/sh
PHPRC=/caminho/para/site/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=8
exec /usr/bin/php-cgi -d display_errors=0Glossário (uma linha)
PHPRC: variável de ambiente que indica ao PHP onde procurar o php.ini.
Resumo
- Crie um info.php para validar se o PHP está a correr como CGI/FastCGI.
- Pode usar php.ini por site apontando PHPRC para o diretório do site.
- Para mudanças rápidas, use exec /usr/bin/php-cgi -d opção=valor no wrapper.
- Sempre reinicie o Apache e remova ficheiros de diagnóstico após os testes.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android