Вообще никак не убиваются сессии?

AnrDaemon

Продвинутый новичок
В Windows как помню (давно не запускал венду) файлы сессии хранятся до перезагрузки или вообще уй знает сколько (нужно настраивать планировщик венды).
В Windows работает встроенный коллектор PHP. В отличие от…
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
очередной раз за последний месяц я офигеваю, читая о том, как php собран под дебианом - экспериментальный sapi в production, странная сборка сессий, suhosin,
какой-то клуб извращенцев
в той же убунте ничего подобного, все просто ставится и работает
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@grigori, веришь нет, но у меня тоже все под дебианом работает =\
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
я не пишу, что оно вообще не работает, я пишу, что оно собрано через задницу
 

fixxxer

К.О.
Партнер клуба
очередной раз за последний месяц я офигеваю, читая о том, как php собран под дебианом - экспериментальный sapi в production, странная сборка сессий, suhosin,
какой-то клуб извращенцев
в той же убунте ничего подобного, все просто ставится и работает
В убунте такой же клуб извращенцев, если что (в смысле - там те же пакеты из дебиана). Это тебе повезло, что не замечал. Там подарочные грабли разложены на каждом шагу.

Я вообще свои пакеты для убунты собираю. Хотел в свое время немножко подправить стандартный deb-src, открыл, посмотрел, закрыл =)

Вообще дебиановская система сборки пакетов - это полный п-ц. Легаси легаси погоняет, и каждый дудец в свою дуду дует - есть 100500 способов сделать одно и то же, и все они будут использованы в сколь-либо давно поддерживаемом пакете, приправленные sed -i прям в makefile. srpm намного вменяемее, при всей моей нелюбви к rpm-based дистрибутивам. Идеальные пакеты в arch linux, но там только rolling-release, стабильной ветки нет. Нет в жизни счастья.

Я в принципе нашел золотую середину - для важных вещей сам делаю для убунты простые пакеты в стиле "тупого make", игнорируя всю эту debhelper-овую помойку и дурацкие правила дебиана о том, что пакет должен делать кучу ерунды типа автозапуска.
 
Последнее редактирование:

Dzen

Новичок
Угу. Дк, проверьте. Возмите мой скрипт, запустите первый раз без закоментированного $_SESSION['hello'] = "world"; а потом закоментируйте и запустите еще раз.
так оно из-за этого и стирается что ЕЩЕ раз запускаем, а если не запустить второй раз, то файл сессии в директории и лежит чёрти сколько.
Он же должен затираться без вторичного запуска скрипта, своими там garbage cleaner.
 

AnrDaemon

Продвинутый новичок
в той же убунте ничего подобного, все просто ставится и работает
Веришь, нет, в Убунте дебиановкая сборка…
А то, что Apache 2.0 SAPI экспериментальное - так это надо натягивать PHP, что они за дерьмо мамонта до сих пор держатся.
 

AnrDaemon

Продвинутый новичок
так оно из-за этого и стирается что ЕЩЕ раз запускаем, а если не запустить второй раз, то файл сессии в директории и лежит чёрти сколько.
Он же должен затираться без вторичного запуска скрипта, своими там garbage cleaner.
Прости, а КТО будет сессии подтирать, если PHP не запущен? Второй запуск скрипта (любого! скрипта) как раз и затирает сессию потому, что запущенный PHP находит старую сессию по текущим настройкам.
 

Dzen

Новичок
AnrDaemon,
от запуска любого скрипта у меня ничгео не трётся, именно после запуска пустой сессии идёт затирка:
session_start();
а так... крон обычно трёт вроде бы
10 раз скрипты запустил, ничего не затёрлось, вписал пустой session_start(); без назначения переменных, тогда затёрлось.
Но это не правильно

 

Активист

Активист
Команда форума
AnrDaemon,
от запуска любого скрипта у меня ничгео не трётся, именно после запуска пустой сессии идёт затирка:
session_start();
а так... крон обычно трёт вроде бы
10 раз скрипты запустил, ничего не затёрлось, вписал пустой session_start(); без назначения переменных, тогда затёрлось.
Но это не правильно
Ну дк логично, ёпт. GС просто так запускаться не будет, делаешь session_start() вот и процедуры очистки запускаются. Надо, настрой cron.
 

Dzen

Новичок
@Активист, а разве на хостингах например, GC само не шпарит по крону?? Какой же завал хлама был бы тогда. А на хостингах я пробовал, и ничего не трёт, ну в течении 24 часов точно
 

Активист

Активист
Команда форума
@Активист, а разве на хостингах например, GC само не шпарит по крону?? Какой же завал хлама был бы тогда. А на хостингах я пробовал, и ничего не трёт, ну в течении 24 часов точно
Б.., какой на хостинг сам... GC это часть модуля PHP Sessions https://github.com/php/php-src/blob/master/ext/session/mod_files.c , функция static int ps_files_cleanup_dir(const char *dirname, zend_long maxlifetime), как раз очищает файлы из директорий. Если не запускать сессии, то и очищать нечего, имхо. Судя по php_sessions.c - запускается GC при session_start();

Если хотите по крону, настраивайте cron. Если у вас не очищаются сессии, задайте вопрос хостинг провайдеру касательно его настройки крона.
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
конечно же система имеет свой "gc" и чистит папку /tmp не спрашивая причем никого, покопайся по форуму найдешь проблему наоборот, когда хочется держать сессию а она прерывается
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
в общем, буду юзать докер. и пофиг что в дистрибутивах :)

а подскажите, что делает команда
{ find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; }
в Dockerfile?
 
Последнее редактирование:

Активист

Активист
Команда форума
в общем, буду юзать докер. и пофиг что в дистрибутивах :)

а подскажите, что делает команда
{ find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; }
в Dockerfile?
GNU strip discards all symbols from object files objfile. The list of object files may include archives. At least one object file must be given.
 

Активист

Активист
Команда форума
в общем, буду юзать докер. и пофиг что в дистрибутивах :)

а подскажите, что делает команда
{ find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; }
в Dockerfile?
А ресурсы не жалко? Виртуальную машину поднимать и гостевые ОС держать. Тогда уж хост машину надо делать на зеонах и виртуализацию на qemu.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
какую еще виртуальную машину? ты о чем?
под линуксом никакой виртуалки не нужно, в контейнерах используется ядро хоста

>GNU strip discards all symbols from object files objfile.
знаешь, man я читать умею, и даже знаю значение каждого слова, только я нихрена не понимаю что это значит :) можешь человеческим языком объяснить?
 

AnrDaemon

Продвинутый новичок
Человеческим языком - удаляется отладочная информация, что делает кордампы неюзабельными.
 
Сверху