O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
Nome | Padrão | Modificável | Mudanças |
---|---|---|---|
session.save_path | "/tmp" | PHP_INI_ALL | |
session.name | "PHPSESSID" | PHP_INI_ALL | |
session.save_handler | "files" | PHP_INI_ALL | |
session.auto_start | "0" | PHP_INI_ALL | |
session.gc_probability | "1" | PHP_INI_ALL | |
session.gc_divisor | "100" | PHP_INI_ALL | |
session.gc_maxlifetime | "1440" | PHP_INI_ALL | |
session.serialize_handler | "php" | PHP_INI_ALL | |
session.cookie_lifetime | "0" | PHP_INI_ALL | |
session.cookie_path | "/" | PHP_INI_ALL | |
session.cookie_domain | "" | PHP_INI_ALL | |
session.cookie_secure | "" | PHP_INI_ALL | Disponível desde o PHP 4.0.4. |
session.cookie_httponly | "" | PHP_INI_ALL | Disponível desde o PHP 5.2.0. |
session.use_cookies | "1" | PHP_INI_ALL | |
session.use_only_cookies | "0" | PHP_INI_ALL | Disponível desde o PHP 4.3.0 |
session.referer_check | "" | PHP_INI_ALL | |
session.entropy_file | "" | PHP_INI_ALL | |
session.entropy_length | "0" | PHP_INI_ALL | |
session.cache_limiter | "nocache" | PHP_INI_ALL | |
session.cache_expire | "180" | PHP_INI_ALL | |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL no PHP <= 4.2.3. PHP_INI_PERDIR no PHP < 5. Disponível desde o PHP 4.0.3. |
session.bug_compat_42 | "1" | PHP_INI_ALL | Disponível desde o PHP 4.3.0 |
session.bug_compat_warn | "1" | PHP_INI_ALL | Disponível desde o PHP 4.3.0 |
session.hash_function | "0" | PHP_INI_ALL | Disponível desde o PHP 5.0.0 |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponível desde o PHP 5.0.0 |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponível desde o PHP 4.0.4. |
O sistema de gerenciamento de sessões suporta um número de opções de configuração que você pode colocar em seu arquivo php.ini. Nós daremos um breve resumo.
Há um argumento N opcional para esta dietiva que determina o número de níveis de diretório que seus arquivos de sessão serão extendidos. Por exemplo, definindo para '5;/tmp' pode levar a criação de um arquivo de sessão e localização como /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If . Para fazer uso do N você deve criar todos estes diretórios antes de usar. Um pequeno script shell existe em ext/session para fazer isto, ele é chamado mod_files.sh. Também note se N é usada e maior do que and greater than 0 então a "automatic garbage collection" não será executada, veja uma cópia do php.ini para mais informação. Veja, se você usa N if you use N, be certifique-se de cercar session.save_path com "aspas" porque o separador (;) é também usado para comentátios no php.ini.
Se você deixar isto definido num diretório de leitura público, tal como /tmp (o padrão), outros usuários no servidor poderão raptar sessõoes pegando a lista de arquivos nesse diretório.
Nota: Antes do PHP 4.3.6 os usuários de Windows tem que mudar esta variável para fazer funções de sessão no PHP. Certifique-se de especifica um caminho válido, ex.: c:/temp.
Nota: Se scripts diferentes tem valores diferentes para session.gc_maxlifetime mas compartilham o mesmo lugar para guardar os dados da sessão então o script com o menor valor estara limpando os dados. Neste caso, use esta diretiva em conjunto com session.save_path.
Nota: Se você está usando o file-based session handler como padrão, seu sistema de arquivos deve manter registrado quantidade de acessos (atime). Windows FAT dessa forma não faz, então você terá que sugerir outro modo para manipular a coleção de lixo de sua sessão se você está num sistema FAT ou quaisquer outros fs onde quantidade de acessos (atime tracking) não está disponível.
Nota: Para PHP 4.1.2 ou inferior, ele só é habilitado se fizer a opção na compilação com --enable-trans-sid. A partir do PHP 4.2.0, está sempre compilado. Gerenciamentode sessões baseadas na URL tem riscos de segurança adicionais comparados ao gerenciamento baseado em cookies. Usuários podem enviar uma URL que contenha uma ID de sessão ativa para seus amigos por e-mail ou usuários pode salvar uma URL que contenha uma ID de sessão para seus bookmarks e acessar seu site com a mesma ID de sessão sempre, por exemplo.
Nota: Isto foi introduzido no PHP 5.
Nota: Isto foi introduzido no PHP 5.
Nota: Se você quer conformidade XHTML, remova a entrada form e utilize as tags <fieldset> em volta dos campos de formulário.
As definições de configuraçãotrack_vars e register_globals influenciam como as variáveis de sessão são guardadas e restauradas.
Nota: No PHP 4.0.3, track_vars está sempre ligada.