By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,930 Members | 1,350 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,930 IT Pros & Developers. It's quick & easy.

Sessions not working in Yahoo Small business

P: n/a
Hi,
I developed web app using Php and used sessions. Everything works on
my test server but sessions just dont work on the clients server which
uses Yahoo Small Business to host their site.

For example:
<?php
session_start();
if (!$_SESSION['count']) {
echo "Not registered<BR>";
$_SESSION['count'] = 1;
$count = 1;
} else {
$count = $_SESSION['count']++;
}
echo "count is '$count'";
?>
Always shows count as 1.
The yahoo site uses PHP Version 4.3.6.
The only difference relevant I can see in the two sites is
session.use_trans_sid which is off on Yahoo. Enabling this with ini_set
didnt help. Saving session information in the DB using custome session
handlers didnt help either.
Any ideas as to why this may be happenning?

Thanks in advance!

Other relevant php info is pasted below:

Session Support enabled
Registered save handlers files user

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_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 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

Jul 17 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
NC
phpvial wrote:

I developed web app using Php and used sessions. Everything
works on my test server but sessions just dont work on the
clients server which uses Yahoo Small Business to host their
site.
I have a site hosted there. Sessions work correctly.
For example:
<?php
session_start();
if (!$_SESSION['count']) {
echo "Not registered<BR>";
$_SESSION['count'] = 1;
$count = 1;
} else {
$count = $_SESSION['count']++;
}
echo "count is '$count'";
?>

Always shows count as 1.


I have encountered this behavior before. What happens here
is a typing issue. PHP seems to think that every variable
in the predefined variables is a string. So the ++ operator
has no effect on any of those variables. What you should do
is to give PHP a hint that $_SESSION['count'] should be
treated as an integer:

$count = $_SESSION['count'] + 1;

This will solve your problem.

Cheers,
NC

Jul 17 '05 #2

P: n/a
Hi NC,
Thanks for your reply. Its not just that the count is never
incremented, no session variables seem to be saved at all. I was just
using the above as an example (because of the underlying problem even
changing it to "$count = $_SESSION['count'] + 1;" didnt work for me).
Any other possibility? Do I need to initialize anything else? Any per
user config options?

Thanks!

Jul 17 '05 #3

P: n/a
I found the solution to this problem and wanted to share it with the
group in case anyone else has it too.
Yahoo Small Business requires a tmp directory to be created at the root
of the users home directory. This is where sessions information is
stored.

Jul 17 '05 #4

P: n/a
DOOD. I figured it out

http://help.yahoo.com/help/us/webhosting/php/php-29.htm

All you have to do is create a /tmp directory on your site. It wil
all work after that

SWEEET

Jaso
http://eye.cc -php- web design
Jul 17 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.