AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 770957
Accepted
kinggs
kinggs
Asked: 2016-04-18 04:37:17 +0800 CST2016-04-18 04:37:17 +0800 CST 2016-04-18 04:37:17 +0800 CST

Diretório de sessão do PHP cheio?

  • 772

Eu estava esperando que alguém pudesse me dar alguns conselhos, por favor. Estou executando um servidor CentOS 6 e, nos últimos dias, meu uso de disco passou de 60 GB para 135 GB (98% cheio). Acredito que o problema pode estar relacionado ao diretório de sessão do PHP (/var/lib/php/session), pois parece ser enorme (não posso ls ou rm), deve haver literalmente milhões de arquivos neste diretório.

  1. Como posso remover este diretório? rm não está funcionando aqui e também tentei substituir um diretório vazio pelo rsync, mas isso também leva uma eternidade.

  2. Se isso está causando o problema - por que o PHP não está removendo esses arquivos automaticamente?

  3. É provável que haja algum registro em algum lugar que possa me apontar na direção de uma exploração, DDOS ou falha?

Obrigado

linux php session
  • 3 3 respostas
  • 10884 Views

3 respostas

  • Voted
  1. Alex
    2016-04-18T14:26:17+08:002016-04-18T14:26:17+08:00

    sudo find /var/lib/php/session -type f -deletefuncionará melhor do que sudo rm /var/lib/php/session/*porque a expansão *dificilmente é possível para grandes listas de arquivos.

    • 2
  2. Matt O.
    2016-04-18T05:22:09+08:002016-04-18T05:22:09+08:00

    Parece que seu aplicativo está criando sessões, mas nunca as destruindo. Isso pode ser uma programação ruim e uma mistura de configurações de ambiente ruins.

    Se você quiser remover esses arquivos de sessão, precisará usar o sudo, pois eles provavelmente não pertencem ao seu usuário.

    sudo rm /var/lib/php/session/*
    

    Eu não removeria todo o diretório da sessão.

    Outra coisa é ajustar o tempo limite da sessão do PHP para um intervalo menor.

    • 1
  3. Best Answer
    symcbean
    2016-04-18T15:38:27+08:002016-04-18T15:38:27+08:00

    A configuração padrão do Ubuntu é que o PHP não expira sessões, mas há um cron job que exclui arquivos antigos. Uma discussão completa sobre isso levaria algum tempo (IMHO, é uma péssima ideia), no entanto, não sei se a Redhat está adotando uma abordagem semelhante.

    Você não forneceu nenhum detalhe de sua configuração de sessão. Essa situação pode surgir devido aos valores de qualquer um de session.gc_probability, session.gc_divisor ou session.gc_maxlifetime. Definir os padrões de 1, 100 e 1440 deve garantir um sistema razoavelmente homeostático depois de limpar os arquivos conforme descrito nas outras respostas.

    Você não disse quantas sessões simultâneas você vê em seu sistema, seu tamanho médio, nem o sistema de arquivos em que estão armazenadas. Se você espera mais de 300 sessões (dependendo do sistema de arquivos), considere o uso de uma árvore de diretórios em vez de um único diretório para armazenar os arquivos; prefixe o session.save_path com 1 ou 2 (assumindo que este não é um servidor NFS que suporta um cluster de servidores, caso em que você deve mudar para uma arquitetura diferente).

    Matt menciona que pode ser a configuração do selinux. Se isso permitir que os arquivos sejam criados, mas nunca excluídos. Embora isso seja possível, sugere que a configuração do sistema está seriamente bagunçada. Se for esse o caso (verifique seu log de auditoria), provavelmente você deve fazer uma instalação limpa e restaurar seu aplicativo sobre ele.

    É muito improvável que tenha algo a ver com programação ruim.

    • 0

relate perguntas

  • Protegendo um novo servidor Ubuntu [fechado]

  • (Soft) RAID 6 no Ubuntu 7.10, devo migrar para 8.10?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve