php.ini mais atual é esse:php.ini
Para um melhor entendimento postarei links do manual do php
assim nao preciso explicar uma coisa que ja esta no manual e de facil entendimento.
manual do php:
O php.ini é o arquivo de configuração do php, e ele é lido quando o php é iniciado. Quando o php esta rodando como modulo o php.ini é lido apenas quando o servidor é iniciado. para as versões CGI e CLI, isso acontece cada vez que eles são chamados.
Quote
nem todas as diretivas do PHP são documentados no manual. Para uma lista completa das diretivas disponíveis na sua versão do PHP, por favor leia seu arquivo php.ini que é bem comentado. ; qualquer texto em uma linha após ponto-e-vírgula sem aspas é ignorado isso significa um comentario
Como modificar valores de configuração
Executando PHP como um módulo do Apache
http://br2.php.net/m...ion.changes.php
para um conhecimento melhor leia:
http://br2.php.net/m...figuration.file
ini_set
http://br2.php.net/m...ion.ini-set.php
dl -- Carrega uma extensão do PHP durante a execução
http://br2.php.net/m...function.dl.php
Apêndice H. Lista de diretivas principais do arquivo php.ini
http://br2.php.net/m...l/pt_BR/ini.php
bom agora vamos estudar algumas linha do php.ini só irei explicar as linhas que realmente interessa para um usuario comun e nao um servidor
com base no php.ini atual:
#Linha 75
<span style='color:DarkBlue'>zend.ze1_compatibility_mode = Off</span>
Permite modo de compatibilidade com o Zend Engine 1 (PHP 4). Afeta clonagem, conversão e comparação de objetos.
#Linha 86
<span style='color:DarkBlue'>asp_tags = Off</span>
nessa linha se você deixar em on você habilita as tags de asp para ser usado com o php exemplo:
<span style='color:red'><% %> </span>
#Linha 218
<span style='color:DarkBlue'>Syntax Highlighting mode</span>
essas configurações mudam o efeito de cores da funções highlight_string() e highlight_file()
#Linha 237
<span style='color:DarkBlue'>expose_php = On</span>
Quote
Algumas poucas técnicas simples podem ajudar a esconder o PHP, possivelmente atrasando um invasor que está tentando descobrir fraquezas em seu sistema. Setando expose_php = off em seu arquivo php.ini, você reduz a quantidade de informação disponível para ele.
#Linha 292
<span style='color:DarkBlue'>error_reporting</span>
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
error_reporting -- Define quais erros serão reportados
error_reporting()
#Linha 299
<span style='color:DarkBlue'>display_errors = On</span>
se tiver off deixe display_errors = On para programar
Isto determina quando os erros devem ser mostrados como parte da saída ou se devem ser escondidos do usuário. Nota: Isto serve para suportar o seu desenvolvimento e nunca deve ser usado em sistemas de produção (ex. sistemas conectados a internet).
#Linha 304
<span style='color:DarkBlue'>display_startup_errors = Off</span>
Mesmo quando display_errors esta em on, erros que aconteçam durante a inicialização do PHP não são mostrados. É fortemente recomendado manter display_startup_errors em off, exceto para procurar erros.
#Linha 309
<span style='color:DarkBlue'>log_errors = Off</span>
Indica se as mensagens de erro do script devem ficar no log de erros do servidor ou em error_log. Esta opção depende do servidor. Nota: Você é fortemente avisado para usar o log de erros ao invés de mostra-los em web sites de produção.
#Linha 313
<span style='color:DarkBlue'>log_errors_max_len = 1024</span>
Define o limite de tamanho da mensagem de erro para logar em bytes. Em error_log é adicionada informação sobre a fonte. O padrão é 1024 e 0 permite que não seja estabelecido nenhum limite.
#Linha 317
<span style='color:DarkBlue'>ignore_repeated_errors = Off</span>
Não loga mensagens repetidas. Erros repetidos devem acontecer no mesmo arquivo na mesma linha enquanto ignore_repeated_source estiver em true.
#Linha 322
<span style='color:DarkBlue'>ignore_repeated_source = Off</span>
Ignora a fonte da mensagem quando estiver ignorando mensagens repetidos. Quando esta definição ON não irá logar mensagens de erros repetidas de arquivos diferentes ou linhas diferentes.
#Linha 327
<span style='color:DarkBlue'>report_memleaks = On</span>
Se este parâmetro estiver em Off, quando acontecerem memory leaks não será mostrado (na saída ou no log). Isto só tem efeito numa compilação de debug, e se error_reporting incluir E_WARNING na lista de permitidos.
#Linha 330
<span style='color:DarkBlue'>track_errors = Off php5</span>
Quote
<span style='color:DarkBlue'>html_errors = Off</span>
Desativa as tags HTML nas mensagens de erro. O novo formato de mensagens de erro em HTML produz mensagens que podem ser clicadas e que direcionam o usuário para uma pagina descrevendo o erro ou a função que causou o erro. Estas referencias são afetadas por docref_root e docref_ext.
#Linha 343
<span style='color:DarkBlue'>docref_root = "path_manualphp/"</span>
#Linha 344
<span style='color:DarkBlue'>docref_ext = .html</span>
O novo formato de mensagens de erro em HTML produz mensagens que podem ser clicadas e que direcionam o usuário para uma pagina descrevendo o erro ou a função que causou o erro. No caso de paginas de manual você pode baixar o manual na sua língua e definir esta diretiva para a sua cópia local. Se a sua cópia local do manual podur ser acessada por '/manual/' você pode simplesmente usar docref_root=/manual/. Adicionalmente você deve definir docref_ext para ser igual a extensão da sua cópia docref_ext=.html. É possível usar referencias externas. Por exemplo, você pode usar docref_root=http://manual/en/ ou docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon &url=http%3A%2F%2Fwww.php.net%2F" A maior parte do tempo você deve querer que o valor de docref_root termine com uma barra '/'. Mas veja o segundo exemplo acima o qual não tem ou não necessita isso.
Quote
docref_ext string
Veja docref_root.
Nota: O valor de docref_ext deve começar com um ponto '.'.
#Linha 347
<span style='color:DarkBlue'>error_prepend_string = "<font color=ff0000>"</span>
#Linha 350
<span style='color:DarkBlue'>error_append_string = "</font>"</span>
formatação da string da mensagem de erro
para manter o padrao XHTML use:
<span style="color: #ff0000">
</span>
#Linha 353
<span style='color:DarkBlue'>error_log = filename</span>
#Linha 356
<span style='color:DarkBlue'>error_log = syslog</span>
O nome do arquivo onde os erros do script serão logados. Se o valor especial syslog é usado, os erros são enviados para o log do sistema. No UNIX, isto indica syslog(3) e no Windows NT isto indica o log do evento. O log de sistema não é suportado no Windows 95. Veja também: [url=http://php.net/syslog]syslog()[/url].
#Linha 389
<span style='color:DarkBlue'>register_globals = Off </span>
Usando Register Globals
Quote
<span style='color:red'>Quando register_globals esta em on injetará (veneno) em seus scripts</span>, todos os tipos de variáveis, como variáveis request de formulários HTML. Isto junta-se com o fato deo PHP não exigir inicialização de variáveis siginifica que escrever códigos inseguros é muito mais fácil. Não foi uma decisão difícil, mas a comunidade PHP decidiu, por definição, desabilitar esta diretiva. Quando on, as pessoas usavam variáveis ainda sem saber realmente, com certeza, de onde elas vinham e podiam apenas supor. Variáveis internas que estão definidas no próprio script conseguem se misturar com dados requisitados enviados pelos usuários e desabilitando register_globals muda isto. Vamos demonstrar com um exemplo de mal uso de register_globals:
Exemplo de uso incorreto com register_globals = on
<!--php1--><div class='phptop'>PHP</div><div class='phpmain'><!--ephp1--><link href = "style_images/css_php.css" rel = "stylesheet" type = "text/css">
- <?php
- <span style=' color: DarkGray;'>// definir $authorized = true apenas se o usuário está autenticado</span>
- if (authenticated_user<span style=' color: green;'>()</span>) {
- $authorized = true;
- }
-
- <span style=' color: DarkGray;'>// Por isso nós primeiro não inicializamos $authorized como false, isto poderia</span>
- <span style=' color: DarkGray;'>// ser definido através de register_globals, como por GET auth.php?authorized=1 </span>
- <span style=' color: DarkGray;'>// então, qualquer um pode ser visto como autenticado!</span>
- if <span style=' color: green;'>($authorized)</span> {
- include "/highly/sensitive/data.php";
- }
- ?>
Quando register_globals = on, nossa lógica acima pode ser comprometida. Quando off, $authorized não pode ser setada via request portanto isto é mais agradável, apesar disso é realmente uma boa prática de programação inicializar as variáveis primeiro. Por exemplo, em nosso exemplo acima nós poderíamos ter feito primeiro $authorized = false. Fazendo isto primeiro significa que nosso código acima trabalharia com register_globals on ou off enquanto usuários, por definição, estariam desautorizados. Um outro exemplo é aquele das sessões. Quando register_globals = on, nós poderíamos também usar $username em nosso exemplo abaixo, mas novamente você deve imaginar que $username poderia, também, vir de outros meios, tal como GET (pela URL).
Exemplo de uso de sessões com register_globals on ou off
<!--php1--><div class='phptop'>PHP</div><div class='phpmain'><!--ephp1--><link href = "style_images/css_php.css" rel = "stylesheet" type = "text/css">
- <?php
- <span style=' color: DarkGray;'>// Nós saberíamos de onde $username veio, mas fazer com $_SESSION é </span>
- <span style=' color: DarkGray;'>// para dados de sessão </span>
- if (isset<span style=' color: green;'>($_SESSION['username'])</span>) {
-
- echo "Olá <b>{$_SESSION<span style=' color: green;'><span style=' color: green;'>['username']</span>}</b>"</span>;
-
- } else {
-
- echo "Olá <b>Guest</b><br />";
- echo "Você gostaria de logar?";
-
- }
- ?>
É até possível tomar medidas preventivas para quando a formação de variável está sob tentativa. Se você já sabe de antemão de onde a variável está vindo, você pode ver se os dados submetidos está vindo de um tipo de submissão impróprio. Enquanto não está garantido que dados não foram formados, ele exige a um atacante que advinhe o tipo correto de formação da variável. Se você toma cuidado de onde os dados requisitados vêm, você pode usar $_REQUEST já que ele contém um misto de dados GET, POST e COOKIE.
#Linha 452
<span style='color:DarkBlue'>;include_path = ".:/php/includes"</span> UNIX
#Linha 455
<span style='color:DarkBlue'>;include_path = ".;c:\php\includes"</span> WINDOWS
Especifica a lista de diretórios onde as funções [b]require()[/b], [b]include()[/b] e fopen_with_path() procuram por arquivos. O formato deve ser igual ao da variável PATH do sistema: uma lista de diretórios separados por vírgula no Unix e ponto-e-vírgula no Windows. Exemplo H-1. Unix include_path include_path=".:/php/includes" Exemplo H-2. Windows include_path include_path=".;c:\php\includes" Uso de . no caminho de inclusão (include path) permite que includes usando caminho relativo em relação ao diretório atual.
#Linha 469
<span style='color:DarkBlue'>extension_dir = "./"</span>
coloque o path das dll do php exemplo c:/bin/php/ext
#Linha 519
<span style='color:DarkBlue'>upload_tmp_dir =</span>
descomente e coloque o path pra onde ira salvar os arquivos tmp de upload exemplo c:/windows/temp
#Linha 577
lista de extensoes caso você precise usar alguma delas só descomentar a linha
para usar o MySQLi acrescente essa linha:
extension=php_mysqli.dll
#Linhas 577 a 609:
;extension=php_mbstring.dll
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
e se você for usar a extensao exif extension=php_exif.dll recorte o extension=php_mbstring.dll e deixe ele antes
da extensao extension=php_exif.dll senao nao funcionara o exif exemplo:
se for o php.ini atual ele ja vem corrigido
#Linha 627
<span style='color:DarkBlue'>SMTP = localhost</span>
coloque o seu smtp valido exemplo smtp.terra.com.br
#Linha 631
<span style='color:DarkBlue'>;sendmail_from = me@example.com</span>
coloque o seu email
#Linha 888
<span style='color:DarkBlue'>;session.save_path = "/tmp"</span>
coloque o path onde sera salvo as temp do session
exemplo c:/windows/temp
bom é isso ai ate o proximo


Entrar
Cadastre-se
Ajuda


Quote
