В вашем файле php.ini у вас есть опция конфигурации
session.use_only_cookies
Если для этого параметра установлено значение true, PHP будет использовать только файлы cookie для отслеживания сеанса.
В противном случае в PHP есть запасной метод для использования get, если браузер отключил файлы cookie.
Таким образом, если вы установите для этого параметра значение false, сеансы также будут работать, если в вашем Safari отключены файлы cookie.
Однако это имеет недостаток безопасности. Некоторые пользователи, которые копируют ваш URL-адрес и отправляют их друзьям, могут скопировать строку SID с URL-адресом и, следовательно, открыть сеанс своим друзьям. Если вы храните SID только в файлах cookie, этого не произойдет.
Что касается продолжительности сеанса, взгляните на параметр конфигурации session.gc_maxlifetime :
session.gc_maxlifetime указывает
количество секунд, после которого данные
будет рассматриваться как «мусор» и очищается
вверх. Сборка мусора происходит во время
начало сеанса.