Sunday, 18 August 2013

session_start(); dies after publishing to nginx server

session_start(); dies after publishing to nginx server

pI put this all together on a server running apache and everything worked
fine, I tested multiple times./p pI published it to a server running nginx
and now I can't even load the first page because codesession_start()/code;
is dying./p pI've done a lot of research and I'm pretty sure it's not the
nginx server because I've seen other codephpinfo()/codes and mine is the
same as other working ones. phpinfo: session Session Support enabled
Registered save handlers files user Registered serializer handlers php
php_binary wddx/p precodeDirective Local Value Master Value
session.auto_start Off Off session.bug_compat_42 Off Off
session.bug_compat_warn Off Off 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 1000 1000
session.gc_maxlifetime 1440 1440 session.gc_probability 0 0
session.hash_bits_per_character 5 5 session.hash_function 0 0 session.name
PHPSESSID PHPSESSID session.referer_check no value no value
session.save_handler files files session.save_path /var/lib/php5
/var/lib/php5 session.serialize_handler php php session.use_cookies On On
session.use_only_cookies On On session.use_trans_sid 0 0 /code/pre
plogin.php:/p precode lt;?php require ('session.php'); include
'loginfunctions.php'; include 'config.php'; ?gt; lt;script
type=text/javascript src=sha512.jsgt;lt;/scriptgt; lt;script
type=text/javascript src=forms.jsgt;lt;/scriptgt; lt;?php
if(isset($_GET['error'])) { echo 'Error Logging In!'; } $session = new
session(); $session-gt;start_session('_s', false); if(login_check($mysqli)
== true) { echo wowsers batman! your logged in; } else { echo'lt;form
action=processlogin.php method=post name=login_formgt; Email: lt;input
type=text name=email /gt;lt;br /gt; Password: lt;input type=password
name=password id=password/gt;lt;br /gt; lt;input type=button value=Login
onclick=formhash(this.form, this.form.password); /gt; lt;/formgt;
lt;br/gt; lt;form action=register.php method=post
name=registration_formgt; Username:lt;input type=text name=username
id=username /gt;lt;br /gt; Email: lt;input type=text name=email id=email
/gt;lt;br /gt; Password: lt;input type=password name=password
id=password/gt;lt;br /gt; lt;input type=button value=Register
onclick=formhash(this.form, this.form.password); /gt; lt;/formgt; '; }
?gt; /code/pre psessions.php/p precodelt;?php class session { function
__construct() { // set our custom session functions.
session_set_save_handler(array($this, 'open'), array($this, 'close'),
array($this, 'read'), array($this, 'write'), array($this, 'destroy'),
array($this, 'gc')); // This line prevents unexpected effects when using
objects as save handlers.
register_shutdown_function('session_write_close'); } function
start_session($session_name, $secure) { $httponly = true; $session_hash =
'sha512'; if (in_array($session_hash, hash_algos())) {
ini_set('session.hash_function', $session_hash); }
ini_set('session.hash_bits_per_character', 5);
ini_set('session.use_only_cookies', 1); $cookieParams =
session_get_cookie_params();
session_set_cookie_params($cookieParams[lifetime], $cookieParams[path],
$cookieParams[domain], $secure, $httponly); session_name($session_name);
session_start(); session_regenerate_id(true); } /code/pre pI didn't post
the rest of the files because the script dies at codesession_start()/code;
in sessions.php/p

No comments:

Post a Comment