The session partition is full

The session partition is full

- Alfred Barton の投稿
返信数: 19
After a successful installation _ all OKs and before going past the setting up of the config we get this error-

The session partition is full. It is not possible to login at this time.

Please notify server administrator.

What does this mean? and how can we fix it?

Thanks
評点平均:Useful (1)
Alfred Barton への返信

Re: The session partition is full

- Howard Miller の投稿
画像 Core developers 画像 Documentation writers 画像 Particularly helpful Moodlers 画像 Peer reviewers 画像 Plugin developers
You've run out of disk space?!?

At least it *thinks* you've run out of disk space which is not always the same thing.
Alfred Barton への返信

Re: The session partition is full

- victor acosta の投稿
try to install 1.9.5(not 1.9.5+) it works for me, i have the same error on a server of byethost, i guess is a bug i dont know, sorry for my english im still learnig.


greetings from mexico..

victor acosta への返信

Re: The session partition is full

- Marco Mendoza の投稿

I did install 1.9.5 version not plus, but I got same error,

May somebody helpme?

Instalattion was successfull without problems,

I did pass all OK´s

Regards,

Marco Mendoza への返信

Re: The session partition is full

- Iñaki Arenaza の投稿
画像 Core developers 画像 Documentation writers 画像 Particularly helpful Moodlers 画像 Peer reviewers 画像 Plugin developers

There's a bug in some PHP versions on Linux (and probaly other Unices aswell) where disk_free_space returns false when the free space is very large (larger than what can be stored in a C long int variable). In that case, even if you have tons of free space, it simply returns false (i.e., no free space at all).

If you are really sure you have free space in the partition that holds your $CFG->datatroot directory, then edit lib/setup.php and comment out the following lines of code (it seems they are going to be removed in the 1.9.x version anyway, see MDL-19222):

        // Need to disable debugging since disk_free_space()
        // will fail on very large partitions (see MDL-19222)
        $freespace = @disk_free_space($CFG->dataroot.'/sessions');
        if (!($freespace > 2048) and $freespace !== false) {
            echo '<html><body>';
            echo '<table align="center"><tr>';
            echo '<td style="color:#990000; text-align:center; font-size:large; border-width:1px; '.
                '    border-color:#000000; border-style:solid; border-radius: 20px; border-collapse: collapse; '.
                '    -moz-border-radius: 20px; padding: 15px">';
            echo '<p>The session partition is full. It is not possible to login at this time.</p>';
            echo '<p>Please notify server administrator.</p>';
            echo '</td></tr></table>';
            echo '</body></html>';
            die;
        }

Saludos. Iñaki.

Marco Mendoza への返信

Re: The session partition is full

- Alfred Barton の投稿
Same result - all OKs then error message.
After several tries tried the latest weekly release and it installed fine and correctly- using it without problems now.
Marco Mendoza への返信

Re: The session partition is full

- Karim Jaffer の投稿
Marco, Any luck so far?
添付 setup_page.jpg
Karim Jaffer への返信

Re: The session partition is full

- Marco Mendoza の投稿

No yet,

I'm trying to upload appplication in another server,

I did upload 1.89 version and did work fine, but it is incomplete for my needs,

I need install 1.95 version,

Thanks & Regards,

Marco Mendoza への返信

Re: The session partition is full

- Cleber Krauskopf の投稿

I've solved the problem by editing the lib/setup.php. Only delete this lines:

//// LINE 423 TO 434 /////

if (!(disk_free_space($CFG->dataroot.'/sessions') > 0)) {
                echo '<html><body>';
                echo '<table align="center"><tr>';
                echo '<td style="color:#990000; text-align:center; font-size:large; border-width:1px; '.
                    '    border-color:#000000; border-style:solid; border-radius: 20px; border-collapse: collapse; '.
                    '    -moz-border-radius: 20px; padding: 15px">';
                echo '<p>The session partition is full. It is not possible to login at this time.</p>';
                echo '<p>Please notify server administrator.</p>';
                echo '</td></tr></table>';
                echo '</body></html>';
                die;
            }

And it will continue installing normaly.

Cleber Krauskopf への返信

Re: The session partition is full

- Craig Rugh の投稿

I have upgraded to 2.0 from 1.9.10 and getting the message:

The session partition is full. It is not possible to login at this time.
Please notify server administrator.

I have enough space on my server.

Where can I edit this line in version 2.0?

 

Thanks in advance.

Craig Rugh への返信

Re: The session partition is full

- Colin Fraser の投稿
画像 Documentation writers 画像 Testers

I am pretty certain that the whole concept of sessions has been changed in Moodle 2.0. I think you might be better off looking at either the General forum or the Developer's forum than here.

Colin Fraser への返信

Re: The session partition is full

- Brian Yare の投稿

I had the same problem this morning while upgrading from 1.9.6 to 2.0.2.

I located the code that needs to be disabled in \lib\sessionlib.php

After disabling lines 345 to 347 the install proceded normally.

The lines to comment out are:

if (!($freespace > 2048) and $freespace !== false) {
print_error('sessiondiskfull', 'error');
}

I hope that this helps someone.

Brian Yare への返信

Re: The session partition is full

- Brian Yare の投稿

Well, it certainly helped me when I hit this same problem after updating to the latest weekly version. I had kept no personal record of this customisation. Serves me right!

Alfred Barton への返信

Re: The session partition is full

- Pablo Reyes の投稿
Pablo Reyes への返信

Re: The session partition is full

- Dave Feasey の投稿
Dave Feasey への返信

Re: The session partition is full

- Luis de Vasconcelos の投稿
Luis de Vasconcelos への返信

Re: The session partition is full

- Dave Feasey の投稿

What that says is to change line 345 in /lib/sessionlib.php

from

345: if (!($freespace > 2048) and $freespace !== false) {

to

if (!($freespace > 2048) and $freespace !== false and $freespace !== null)

which seems cleaner than just commenting out the whole error message suggested above. Thanks!