Sesja, czas trwania

0

Witam serdecznie

Prowadzę niewielki sklep internetowy napisany przeze mnie. Kod piszę na lokalnej stacji, gdzie mam zainstalowanego LAMP-a (Debian+LAMP). W php.ini ustawiłem czas sesji na 6 godzin (session.gc_maxlifetime).

Działanie sklepu: pierwsza linijka każdej strony rozpoczyna się

session_start()
  • odwiedzający ma zatem przez cały okres odwiedzin nawiązaną sesję i przydzieloną zmienną sesji. W chwili gdy wrzuca coś do koszyka w tabeli KOSZYK tworzony jest rekord identyfikowany właśnie zmienną sesji.

Na lokalnej maszynie wszystko działa jak należy. Odwiedzający wrzuca produkty do koszyka, wraca do komputera po 3 godzinach i sesja wciąz jest aktywna, a on wciąz ma dostęp do koszyka.

Problem pojawił się, kiedy kod zaczął pracować na serwerze internetowym (wilk.ionic.pl). Na moją prośbę administator wydłużył czas trwania sesji do 3 godzin. Sprawdziłem to prostym skryptem wyświetlającym identyfikator sesji i godzinę. Po 2 godzinach identyfikator sesji pozostaje bez zmian. Ale... zarówno zalogowani użytkownicy, jak i klienci wrzucający produkty do koszyka tracą sesję po około 15 minutach. Dlaczego? Jakiś pomysł? Czy jest to kwestia ustawień php.ini, czy ja źle obsługuję sesję?

pozdrawiam!

0

Sprawdź w php.ini session.gc_maxlifetime

0

wklej phpinfo()

0

PHP Version 5.2.17

System Linux wilk.ionic.pl
Build Date 2011
Configure Command no value
Server API CGI/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5
Loaded Configuration File /etc/php5/php.ini
Scan this dir for additional .ini files /home/pbialypl/.php
additional .ini files parsed /home/pbialypl/.php/open.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety disabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams https, ftps, compress.zlib, compress.bzip2, php, file, data, http, ftp, zip
Registered Stream Socket Transports tcp, udp, unix, udg, ssl, sslv3, sslv2, tls
Registered Stream Filters zlib., bzip2., convert.iconv., string.rot13, string.toupper, string.tolower, string.strip_tags, convert., consumed

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd., and
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies

Configuration
PHP Core
Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions symlink, system, exec, shell_exec, popen, proc_get_status, proc_nice, proc_terminate, define_syslog_variables, syslog, openlog, closelog, escapeshellcmd, passthru, ocinumcols, ini_alter, leak, listen, chgrp, debugger_on, debugger_off, ftp_exec, dll, ftp, proc_open, proc_close, myshellexec, posix_getpwuid, posix_getgrgid, diskfreespace, disk_free_space, disk_total_space symlink, system, exec, shell_exec, popen, proc_get_status, proc_nice, proc_terminate, define_syslog_variables, syslog, openlog, closelog, escapeshellcmd, passthru, ocinumcols, ini_alter, leak, listen, chgrp, debugger_on, debugger_off, ftp_exec, dll, ftp, proc_open, proc_close, myshellexec, posix_getpwuid, posix_getgrgid, diskfreespace, disk_free_space, disk_total_space
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl Off Off
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 6135 6135
expose_php Off Off
extension_dir /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/ /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .:/usr/local/lib/php .:/usr/local/lib/php
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc Off Off
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_file_uploads 20 20
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 128M 128M
open_basedir /home/pbialypl/:/tmp:/var/www/html/:/etc/virtual /home/pbialypl/:/tmp:/var/www/html/:/etc/virtual
output_buffering no value no value
output_handler no value no value
post_max_size 32M 32M
precision 12 12
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals Off Off
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path /usr/sbin/sendmail -t -i /usr/sbin/sendmail -t -i
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 32M 32M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off

bcmath
BCMath support enabled

bz2
BZip2 Support Enabled
Stream Wrapper support compress.bz2://
Stream Filter support bzip2.decompress, bzip2.compress
BZip2 Version 1.0.5, 10-Dec-2007

calendar
Calendar support enabled

cgi-fcgi
Directive Local Value Master Value
cgi.check_shebang_line 1 1
cgi.fix_pathinfo 1 1
cgi.force_redirect 1 1
cgi.nph 1 1
cgi.redirect_status_env no value no value
cgi.rfc2616_headers 0 0
fastcgi.logging 1 1

ctype
ctype functions enabled

curl
cURL support enabled
cURL Information libcurl/7.37.0 OpenSSL/0.9.8o zlib/1.2.3

date
date/time support enabled
"Olson" Timezone Database Version 2010.9
Timezone Database internal
Default timezone Europe/Berlin

Directive Local Value Master Value
date.default_latitude 31.7667 31.7667
date.default_longitude 35.2333 35.2333
date.sunrise_zenith 90.583333 90.583333
date.sunset_zenith 90.583333 90.583333
date.timezone no value no value

dom
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.7.3
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

exif
EXIF Support enabled
EXIF Version 1.4 $Id: exif.c 293036 2010-01-03 0927Z sebastian $
Supported EXIF Version 0220
Supported filetypes JPEG,TIFF

filter
Input Validation and Filtering enabled
Revision $Revision: 298196 $

Directive Local Value Master Value
filter.default unsafe_raw unsafe_raw
filter.default_flags 0 0

ftp
FTP support enabled

gd
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.4
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

gettext
GetText Support enabled

hash
hash support enabled
Hashing Engines md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv
iconv support enabled
iconv implementation glibc
iconv library version 1.13

Directive Local Value Master Value
iconv.input_encoding ISO-8859-1 ISO-8859-1
iconv.internal_encoding ISO-8859-1 ISO-8859-1
iconv.output_encoding ISO-8859-1 ISO-8859-1

imap
IMAP c-Client Version 2007e
SSL Support enabled

json
json support enabled
json version 1.2.1

libxml
libXML support active
libXML Version 2.7.3
libXML streams enabled

mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 4.4.4
Multibyte regex (oniguruma) backtrack check On

mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1.

Directive Local Value Master Value
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding no value no value
mbstring.language neutral neutral
mbstring.strict_detection Off Off
mbstring.substitute_character no value no value

mcrypt
mcrypt support enabled
Version 2.5.8
Api No 20021217
Supported ciphers cast-128 gost rijndael-128 twofish arcfour cast-256 loki97 rijndael-192 saferplus wake blowfish-compat des rijndael-256 serpent xtea blowfish enigma rc2 tripledes
Supported modes cbc cfb ctr ecb ncfb nofb ofb stream

Directive Local Value Master Value
mcrypt.algorithms_dir no value no value
mcrypt.modes_dir no value no value

mhash
MHASH support Enabled
MHASH API Version 20060101

mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.91
MYSQL_MODULE_TYPE external
MYSQL_SOCKET /tmp/mysql.sock
MYSQL_INCLUDE -I/usr/local/mysql/include
MYSQL_LIBS -L/usr/local/mysql/lib -lmysqlclient

Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off

mysqli
MysqlI Support enabled
Client API library version 5.0.91
Client API header version 5.0.91
MYSQLI_SOCKET /tmp/mysql.sock

Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off

openssl
OpenSSL support enabled
OpenSSL Version OpenSSL 0.9.8g 19 Oct 2007

pcre
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 8.02 2010-03-19

Directive Local Value Master Value
pcre.backtrack_limit 100000 100000
pcre.recursion_limit 100000 100000

PDO
PDO support enabled
PDO drivers mysql, sqlite, sqlite2

pdo_mysql
PDO Driver for MySQL, client library version 5.0.91

pdo_sqlite
PDO Driver for SQLite 3.x enabled
PECL Module version (bundled) 1.0.1 $Id: pdo_sqlite.c 293036 2010-01-03 0927Z sebastian $
SQLite Library 3.3.7

posix
Revision $Revision: 293036 $

Reflection
Reflection enabled
Version $Id: php_reflection.c 300129 2010-06-03 0037Z felipe $

session
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 10800 10800
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp/php5-sesje /tmp/php5-sesje
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

SimpleXML
Simplexml support enabled
Revision $Revision: 299016 $
Schema support enabled

soap
Soap Client enabled
Soap Server enabled

Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400

sockets
Sockets Support enabled

SPL
SPL support enabled
Interfaces Countable, OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, DirectoryIterator, DomainException, EmptyIterator, FilterIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RegexIterator, RuntimeException, SimpleXMLIterator, SplFileInfo, SplFileObject, SplObjectStorage, SplTempFileObject, UnderflowException, UnexpectedValueException

SQLite
SQLite support enabled
PECL Module version 2.0-dev $Id: sqlite.c 298697 2010-04-28 1210Z iliaa $
SQLite Library 2.8.17
SQLite Encoding iso8859

Directive Local Value Master Value
sqlite.assoc_case 0 0

standard
Regex Library Bundled library enabled
Dynamic Library Support enabled
Path to sendmail /usr/sbin/sendmail -t -i

Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_eval 0 0
assert.warning 1 1
auto_detect_line_endings 0 0
default_socket_timeout 60 60
safe_mode_allowed_env_vars PHP_ PHP_
safe_mode_protected_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.tags a=href,area=href,frame=src,input=src,form=,fieldset= a=href,area=href,frame=src,input=src,form=,fieldset=
user_agent no value no value

tokenizer
Tokenizer Support enabled

wddx
WDDX Support enabled
WDDX Session Serializer enabled

xml
XML Support active
XML Namespace Support active
libxml2 Version 2.7.3

xmlreader
XMLReader enabled

xmlwriter
XMLWriter enabled

Zend Optimizer
Optimization Pass 1 enabled
Optimization Pass 2 enabled
Optimization Pass 3 enabled
Optimization Pass 4 enabled
Optimization Pass 9 enabled
Zend Loader enabled
License Path no value
Obfuscation level 3

zip
Zip enabled
Extension Version $Id: php_zip.c 305848 2010-11-30 1106Z pajoye $
Zip version 1.8.11
Libzip version 0.9.0

zlib
ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.3
Linked Version 1.2.3

Directive Local Value Master Value
zlib.output_compression Off Off
zlib.output_compression_level -1 -1
zlib.output_handler no value no value

Additional Modules
Module Name
ionCube Loader

Environment
Variable Value
PHP_INI_SCAN_DIR /home/pbialypl/.php
PHP_FCGI_CHILDREN 0
PATH /usr/local/bin:/usr/bin:/bin
PWD /home/pbialypl/.php
SHLVL 0

PHP Variables
Variable Value
_REQUEST["_ga"] GA1.2.342260747.1397291700
_REQUEST["PHPSESSID"] e7460353c59db7a3b3ece7cb205399b0
_COOKIE["_ga"] GA1.2.342260747.1397291700
_COOKIE["PHPSESSID"] e7460353c59db7a3b3ece7cb205399b0
_SERVER["PHP_INI_SCAN_DIR"] /home/pbialypl/.php
_SERVER["PHP_FCGI_CHILDREN"] 0
_SERVER["PATH"] /usr/bin:/bin
_SERVER["PWD"] /home/pbialypl/.php
_SERVER["SHLVL"] 0
_SERVER["FCGI_ROLE"] RESPONDER
_SERVER["UNIQUE_ID"] U5ldmy4Wr@8AABQ4jH0AAAAM
_SERVER["HTTP_HOST"] pbialy.pl
_SERVER["HTTP_USER_AGENT"] Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140429 Firefox/24.0 Iceweasel/24.5.0
_SERVER["HTTP_ACCEPT"] text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
_SERVER["HTTP_ACCEPT_LANGUAGE"] en-US,en;q=0.5
_SERVER["HTTP_ACCEPT_ENCODING"] gzip, deflate
_SERVER["HTTP_COOKIE"] _ga=GA1.2.342260747.1397291700; PHPSESSID=e7460353c59db7a3b3ece7cb205399b0
_SERVER["HTTP_CONNECTION"] close
_SERVER["SERVER_SIGNATURE"] no value
_SERVER["SERVER_SOFTWARE"] Apache
_SERVER["SERVER_NAME"] pbialy.pl
_SERVER["SERVER_ADDR"] 80.82.23.222
_SERVER["SERVER_PORT"] 80
_SERVER["REMOTE_ADDR"] 95.40.60.180
_SERVER["DOCUMENT_ROOT"] /home/pbialypl/domains/pbialy.pl/public_html
_SERVER["SERVER_ADMIN"] [email protected]
_SERVER["SCRIPT_FILENAME"] /home/pbialypl/domains/pbialy.pl/public_html/x.php
_SERVER["REMOTE_PORT"] 38370
_SERVER["GATEWAY_INTERFACE"] CGI/1.1
_SERVER["SERVER_PROTOCOL"] HTTP/1.1
_SERVER["REQUEST_METHOD"] GET
_SERVER["QUERY_STRING"] no value
_SERVER["REQUEST_URI"] /x.php
_SERVER["SCRIPT_NAME"] /x.php
_SERVER["PHP_SELF"] /x.php
_SERVER["REQUEST_TIME"] 1402559899
_SERVER["argv"]

Array
(
)

_SERVER["argc"] 0
_ENV["PHP_INI_SCAN_DIR"] /home/pbialypl/.php
_ENV["PHP_FCGI_CHILDREN"] 0
_ENV["PATH"] /usr/bin:/bin
_ENV["PWD"] /home/pbialypl/.php
_ENV["SHLVL"] 0
_ENV["FCGI_ROLE"] RESPONDER
_ENV["UNIQUE_ID"] U5ldmy4Wr@8AABQ4jH0AAAAM
_ENV["HTTP_HOST"] pbialy.pl
_ENV["HTTP_USER_AGENT"] Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20140429 Firefox/24.0 Iceweasel/24.5.0
_ENV["HTTP_ACCEPT"] text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
_ENV["HTTP_ACCEPT_LANGUAGE"] en-US,en;q=0.5
_ENV["HTTP_ACCEPT_ENCODING"] gzip, deflate
_ENV["HTTP_COOKIE"] _ga=GA1.2.342260747.1397291700; PHPSESSID=e7460353c59db7a3b3ece7cb205399b0
_ENV["HTTP_CONNECTION"] close
_ENV["SERVER_SIGNATURE"] no value
_ENV["SERVER_SOFTWARE"] Apache
_ENV["SERVER_NAME"] pbialy.pl
_ENV["SERVER_ADDR"] 80.82.23.222
_ENV["SERVER_PORT"] 80
_ENV["REMOTE_ADDR"] 95.40.60.180
_ENV["DOCUMENT_ROOT"] /home/pbialypl/domains/pbialy.pl/public_html
_ENV["SERVER_ADMIN"] [email protected]
_ENV["SCRIPT_FILENAME"] /home/pbialypl/domains/pbialy.pl/public_html/x.php
_ENV["REMOTE_PORT"] 38370
_ENV["GATEWAY_INTERFACE"] CGI/1.1
_ENV["SERVER_PROTOCOL"] HTTP/1.1
_ENV["REQUEST_METHOD"] GET
_ENV["QUERY_STRING"] no value
_ENV["REQUEST_URI"] /x.php
_ENV["SCRIPT_NAME"] /x.php

PHP License

This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact [email protected].

0

Widzę, że cookie lifetime jest ustawione na 0 więc raczej ok. Upewnij się jednak że cookie Ci nie wygasa.

PS. Możesz nadpisywać ustawienia w ini przez funkcję ini_set i pobierać je przez ini_get

0

Ciasteczko nie wygasa w ciągu ponad godziny. A funkcjami sie zainteresuję, tylko... jeśli mam ustawiony czas w php.ini, to w jakim celu zmieniać ustawienia tymi funkcjami? Wywoływać je po każdym wywołaniu session_start()?

0

W sumie nie mam potrzeby użycia funkcji, jeśli php.ini jest prawidłowo skonfigurowane. Co jeszcze może wpływać na zachowanie czasu trwania sesji?

0

Spróbuj zapisywać sesje w innym miejscu niż masz to teraz, zmień ustawienie session.save_path. Możliwe że jakiś inny proces na serwerze czyści sesje wcześniej niż gc.

0

Obawiam się, ze aż tak głęboko nie mogę ingerować w php.ini. Napiszę do adminów, zobaczymy co oni na to.

0

Nie potrzebujesz do tego admina - http://pl1.php.net/manual/en/function.session-save-path.php
Jedyne o czym trzeba pamiętać to ustawienie w wybranym katalogu uprawnień do zapisu przez php.

0

Dziękuję. Spróbuję, dam znać w weekend czy pomogło. Pozdrawiam!

0

I jeszcze jedno - żeby dostępu do tego folderu nie było z zewnątrz!

0

Ostatnia sprawa jasna jak Słońce :)
Administratorzy odpuścili poszukiwanie przyczyn, serwis został przeniesiony na inny serwer tej firmy. I problem zniknął. Takie rozwiązanie mi odpowiada - naczelny cel to działanie serwisu, a nie dociekanie DLACZEGO.
Dziękuję wszystkim za pomoc, pozdrawiam!

1 użytkowników online, w tym zalogowanych: 0, gości: 1