производительность — Безопасное ограничение пространства сессий PHP

Кажется, я нигде не могу найти эту информацию, поэтому подумал, что спрашиваю здесь.

В настоящее время мой путь сеанса PHP (session.save_path) установлен в папку на жестком диске сервера.

Я создал простую программу PHP, как показано ниже:

<?php echo "TEST"; ?>

затем я выполнил это с помощью strace, и процесс в журналах strace, который занял больше всего времени, shmdt(), и когда я сопоставил числа, он ссылался на файл sem в session.save_path.

Один из способов решить эту проблему — создать оперативный диск только для файлов сеанса php, но я хочу иметь возможность добавить запись конфигурации в сам файл конфигурации PHP, чтобы PHP понимал, что у него так много места для работы до удаление старых записей.

Какая запись конфигурации мне нужна для этого?

и, если возможно, какие записи конфигурации я могу использовать для устранения shmdt() вызов?

Я проверил свой скрипт в PHP версии 5.5.29.

3

Решение

Я понимаю, что вы пытаетесь предотвратить избыточное хранение файлов сеанса в папке сеанса (session.save_path).

Если у вас есть доступ к файлу конфигурации PHP (php.ini), вы должны отрегулировать значение «session.gc_maxlifetime» до максимальной продолжительности, которая вам требуется, чтобы файлы были удалены с сервера.

Документация PHP:
http://ar.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime

Чтобы назначить место на «RAM диске», требуется root-доступ к серверу. Если это ваш случай, вы должны сделать следующее:

  1. Создайте папку для ваших сессий:
MKDIR / VAR / сессий
  1. Отредактируйте файл «fstab»:
vi / etc / fstab
  1. Создайте запись вашего RAM-диска, сопоставленную с этой папкой:
нет / var / session tmpfs по умолчанию, размер = 50M 1 2
  1. Сохраните изменения в «fstab».

  2. Смонтируйте новый RAM-диск:

гора -а

ПРИМЕЧАНИЕ: в точке «4» я назначаю 50 Мб памяти. Вы должны выделить пространство, которое у вас есть для использования пользователем в оперативной памяти сервера.

Надеюсь, это поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]