O comportamento dessas funções podem ser modificado pelas configurações do php.ini.
Nome | Padrão | Modificável | Changelog |
---|---|---|---|
session.save_path | "" | 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 | Disponível desde PHP 4.3.2. |
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 PHP 4.0.4. |
session.cookie_httponly | "" | PHP_INI_ALL | Disponível desde PHP 5.2.0. |
session.use_cookies | "1" | PHP_INI_ALL | |
session.use_only_cookies | "1" | PHP_INI_ALL | Disponível desde 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 in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Disponível desde PHP 4.0.3. |
session.bug_compat_42 | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removido no PHP 5.4.0. |
session.bug_compat_warn | "1" | PHP_INI_ALL | Available since PHP 4.3.0. Removido no PHP 5.4.0. |
session.hash_function | "0" | PHP_INI_ALL | Disponível desde PHP 5.0.0. |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Disponível desde PHP 5.0.0. |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Disponível desde PHP 4.0.4. |
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Disponível desde PHP 5.4.0. |
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. A seguir um breve resumo.
session.save_handler
string
session.save_path
string
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 espalhados. 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 do uso. Um pequeno script shell existe em ext/session para fazer isto, chamado mod_files.sh, com uma versão para o Windows chamada mod_files.bat. Também note se N é usada e maior do que 0 então a limpeza de sessões não será executada, veja uma cópia do php.ini para mais informações. Se você usar N, 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.
session.name
string
session.auto_start
boolean
session.serialize_handler
string
session.gc_probability
integer
session.gc_divisor
integer
session.gc_maxlifetime
integer
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 estará 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 não faz dessa forma, então você terá de lidar de outra forma com a limpeza de dados de sessão se você estiver preso um sistema de arquivos FAT ou outro sistema de arquivos que não tenha rastreamento de atime. Desde a versão 4.2.3 está sendo utilizado o mtime (tempo de modificação) em vez de atime. Assim não deve haver muitos problemas nos sistemas de arquivos que não tenham atime.
session.referer_check
string
session.entropy_file
string
session.entropy_length
integer
Nota:
O timestamp de expiração é informado em relação à hora do servidor, que não necessariamente coincide com o horário do navegador do cliente.
session.cache_limiter
string
session.cache_expire
integer
session.use_trans_sid
boolean
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 em seus bookmarks e acessar seu site sempre com a mesma ID de sessão, por exemplo.
session.bug_compat_42
boolean
session.bug_compat_warn
boolean
session.hash_function
integer
Desde o PHP 5.3.0 também é possível especificar qualquer um dos algoritmos disponibilizados pela extensão hash (se habilitada), como sha512 ou whirlpool. A lista completa de algoritmos suportados pode ser obtida na função hash_algos().
Nota:
Isto foi introduzido no PHP 5.
session.hash_bits_per_character
integer
Nota:
Isto foi introduzido no PHP 5.
Nota: Se você quer conformidade HTML/XHTML, remova a entrada form e utilize as tags <fieldset> em volta dos campos de formulário.
session.upload_progress.enabled
boolean
session.upload_progress.cleanup
boolean
Nota: É altamente recomendável manter esse recurso ligado.
session.upload_progress.prefix
string
session.upload_progress.name
string
session.upload_progress.freq
mixed
session.upload_progress.min-freq
integer
As definições de configuração track_vars e register_globals influenciam como as variáveis de sessão são guardadas e restauradas.
O progresso de upload será registrado apenas se session.upload_progress.enabled estiver habilitado e a variável $_POST[ini_get("session.upload_progress.name")] existente. Veja Progresso de Upload em sessões para mais detalhes da funcionalidade.
Nota:
No PHP 4.0.3, track_vars está sempre ligada.