Onde está php.ini, o arquivo de configuração do PHP?
Neste tutorial, vamos discutir php.ini – o principal arquivo de configuração em PHP. Da perspectiva do iniciante, discutiremos para que serve, onde localizá-lo e algumas configurações importantes que ele fornece.
O que é php.ini ?
Quer você seja um iniciante em PHP ou um desenvolvedor experiente, tenho certeza que já ouviu falar de php.ini : o arquivo de configuração de PHP mais importante.
Quando o PHP é executado, ele procura o arquivo php.ini em alguns locais específicos e o carrega. Este arquivo permite definir algumas configurações importantes das quais você deve estar ciente. Freqüentemente, você descobrirá que precisa ajustar as configurações no arquivo php.ini .
Por outro lado, certamente é possível que você nunca precise modificar o php.ini . O PHP pode ser executado sem problemas com as configurações fornecidas no arquivo php.ini padrão , uma vez que o PHP vem com essas configurações padrão recomendadas. Na verdade, não há parâmetros de configuração críticos que você deve definir para executar o PHP.
No entanto, o arquivo php.ini fornece algumas configurações importantes com as quais você deseja se familiarizar. Na verdade, como desenvolvedor PHP, é inevitável e você o encontrará mais cedo ou mais tarde.
Onde está php.ini?
Nesta seção, veremos como encontrar o arquivo php.ini que é carregado quando você executa o script PHP. Isso pode ser complicado – a localização do arquivo php.ini varia muito de acordo com o ambiente em que você está executando o PHP. Se você estiver executando o Windows, provavelmente encontrará o arquivo php.ini no diretório de instalação do PHP na unidade do sistema. Por outro lado, se você estiver executando outro sistema operacional, será difícil adivinhar a localização exata do arquivo php.ini – existem várias possibilidades.
É aqui que a phpinfo()
função vem ao resgate. Ele dirá onde php.ini está localizado e também exibirá todas as informações importantes de configuração do PHP.
Você pode executar phpinfo()
criando um arquivo .php e chamando essa função. Vá em frente e crie o arquivo phpinfo.php com o seguinte conteúdo e coloque-o na raiz do seu documento:
1
2
3
|
<?php phpinfo(); ?> |
Carregue este arquivo em seu navegador e você verá a saída de phpinfo()
. Procure a seção a seguir.



Como você pode ver, existem duas seções. O primeiro, Caminho do arquivo de configuração (php.ini) , indica o caminho padrão do arquivo php.ini em seu sistema. E o segundo, Arquivo de configuração carregado , é o caminho de onde o arquivo php.ini está sendo carregado quando o PHP é executado.
Portanto, você pode editar o arquivo php.ini indicado na seção Arquivo de configuração carregado , e isso deve funcionar na maioria dos casos. Claro, se você estiver executando o PHP como um módulo Apache, você precisa reiniciar o servidor Apache para ter certeza de que as alterações feitas no arquivo php.ini são refletidas.
Por outro lado, se você estiver usando um software como WAMP ou XAMPP para executar sua pilha de desenvolvimento web, é ainda mais fácil modificar o arquivo php.ini – você pode acessá-lo diretamente por meio da IU do WAMP ou do XAMPP.
Na próxima seção, exploraremos algumas configurações importantes no arquivo php.ini .
Configurações importantes no php.ini
O arquivo php.ini fornece várias diretivas de configuração que permitem modificar vários comportamentos do PHP. Na verdade, ao abrir o arquivo php.ini , você pode ficar confuso com o número de diretivas que ele fornece. Tentarei agrupá-los com base em seus comportamentos e espero que seja fácil para você entender.
É claro que não examinaremos todas as diretivas, mas tentarei abordar as mais importantes. Vamos dar uma olhada nos tipos de diretivas que vamos discutir.
- diretivas de tratamento de erros
- diretivas de upload de arquivo
- diretivas relacionadas à segurança
- diretivas de sessão
- diretivas diversas
Diretivas de tratamento de erros
Nesta seção, veremos as diretivas relacionadas ao tratamento de erros e são úteis para depuração durante o desenvolvimento.
display_errors
A display_errors
diretiva permite que você controle se os erros são exibidos na tela durante a execução do script. Você pode definir On
se deseja que os erros sejam exibidos na tela e Off
se deseja desativá-lo. É importante que você nunca habilite isso em um site de produção – isso tornará seu site lento e pode dar aos hackers dicas valiosas sobre as vulnerabilidades de segurança do seu site.
error_reporting
Esta diretiva permite que você defina o nível de relatório de erros. Principalmente, esta diretiva funciona em conjunto com a display_errors
diretiva. Esta directiva pode aceitar E_ALL
, E_NOTICE
, E_STRICT
, e E_DEPRECATED
constantes.
Você pode definir para E_ALL
se quiser exibir todos os tipos de erros, como erros fatais, avisos, funções obsoletas, etc. Você também pode combinar os diferentes valores se quiser filtrar erros específicos. Por exemplo, se quiser exibir todos os erros, exceto avisos, você pode definir como E_ALL & ~E_NOTICE
.
error_log
Em um site de produção, você precisa se certificar de que o PHP não exibe nenhum erro para o navegador do cliente. Em vez disso, você pode registrar erros em algum lugar para que mais tarde possa consultá-los se algo der errado com seu site. A error_log
diretiva permite que você defina o nome do arquivo onde os erros serão registrados. Você precisa ter certeza de que este arquivo pode ser gravado pelo usuário do servidor da web.
Diretivas de upload de arquivo
Nesta seção, veremos algumas diretivas importantes que permitem habilitar os recursos de upload de arquivos em seus formulários PHP.
file_uploads
Esta é uma diretiva booleana que permite habilitar uploads de arquivos HTTP. Se você definir como On
, poderá usar o campo de arquivo em seus formulários e os usuários poderão fazer upload de arquivos de seus computadores. Por outro lado, se você definir como Off
, o upload de arquivos será totalmente desativado.
upload_max_filesize
Se você habilitou o recurso de upload de arquivo em seu site e está enfrentando dificuldades para fazer upload de arquivos, esta é a diretiva que você deve verificar primeiro. Ele permite que você defina o tamanho máximo de um arquivo que pode ser carregado.
Por padrão, é definido como 2 MB e, portanto, os usuários não podem fazer upload de arquivos com mais de 2 MB. Você pode ajustar esse valor de acordo com seus requisitos – frequentemente, você desejará aumentar esse limite para permitir uploads de arquivos maiores.
post_max_size
Esta configuração permite definir o tamanho máximo dos dados POST em seus formulários. Quando um usuário envia um formulário com o método POST, o tamanho total dos dados POST não deve exceder o valor definido nesta diretiva.
Deve ser maior do que o valor definido na upload_max_filesize
diretiva, uma vez que os uploads de arquivos são tratados com solicitações POST.
Diretivas de Segurança
Nesta seção, veremos algumas diretivas importantes relacionadas à segurança.
allow_url_fopen
A allow_url_fopen
diretiva está desabilitada por padrão. Mas quando está habilitado, permite a inclusão de arquivo remoto nas funções de arquivo PHP. Isso significa que seus arquivos PHP podem incluir código de outros servidores. Tenha cuidado ao habilitar isso – se seu código estiver sujeito a um ataque de injeção, a inclusão de arquivo remoto tornará muito mais fácil para um usuário mal-intencionado sequestrar seu servidor.
allow_url_include
A allow_url_include
diretiva é semelhante à allow_url_fopen
diretiva, mas permite a inclusão de arquivos remotos nas include
funções. Ele permite que você incluir arquivos remotos nos include
, include_once
, require
, e require_once
funções.
Se você deseja habilitar esta diretiva, você precisa certificar-se de que também habilitou a allow_url_fopen
diretiva.
Diretivas de Sessão
O gerenciamento de sessão é um dos aspectos mais importantes quando você está trabalhando com PHP. Nesta seção, veremos algumas diretivas de sessão importantes.
session.name
A session.name
diretiva permite que você defina o nome do cookie da sessão. Por padrão, é definido como PHPSESSID
, mas você pode alterá-lo para qualquer outra coisa usando esta diretiva.
session.auto_start
Se você definir o valor da session.auto_start
diretiva como 1
, o módulo de sessão no PHP inicia uma sessão automaticamente a cada solicitação e, portanto, você não precisa usar a session_start
função em seus scripts.
session.cookie_lifetime
A session.cookie_lifetime
diretiva permite que você defina o tempo de vida de um cookie de sessão. Por padrão, é definido como 0 segundos e significa que o cookie da sessão é excluído quando o navegador é fechado. Esta é uma configuração realmente útil que permite que você configure um tipo de funcionalidade “lembre-se de mim”, permitindo que seus usuários continuem de onde pararam em seu site.
Diretivas Diversas
Nesta última seção, veremos algumas outras diretivas que são importantes no contexto da execução de scripts PHP.
memory_limit
A memory_limit
diretiva permite que você limite a quantidade máxima de memória que um script pode usar.
Você deseja ajustar esta diretiva de acordo com seus requisitos e não deve definir isso muito alto para evitar interrupções de memória em seu servidor – scripts mal escritos ou com erros podem consumir toda a memória em seu servidor se você permitir!
max_execution_time
A max_execution_time
diretiva define a quantidade máxima de tempo que um script pode ser executado antes de ser encerrado. O padrão é 30 segundos e você pode aumentá-lo para um limite razoável de acordo com seus requisitos, se necessário.
Semelhante à memory_limit
diretiva, você não deve definir isso muito alto para evitar problemas em seu servidor.
max_input_time
A max_input_time
diretiva permite que você defina a quantidade máxima de tempo que um script tem permissão para analisar dados de formulário recebidos de um GET ou POST.
Se você tiver formulários em seu site que enviam uma grande quantidade de dados, pode aumentar o valor desta diretiva.
Conclusão
É impossível cobrir cada uma das diretivas em um único artigo, mas tentei cobrir as mais importantes. Sinta-se à vontade para postar suas dúvidas se quiser saber sobre alguma diretriz específica, e ficarei feliz em ajudar!
Como desenvolvedor de PHP, é importante que você entenda as diferentes diretivas do arquivo php.ini , e isso deve ajudá-lo a ajustar a configuração do PHP de acordo com seus requisitos.