Earlier I was trying to install a joomla package for a client and I've got the following error:
Warning: session_start(): open(tcp://127.0.0.1:11211/sess_973eebe815a2f02cac90592473de1467, O_RDWR) failed: No such file or directory (2) in /home/joomla/public_html/libraries/joomla/session/session.php on line 531 Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/joomla/public_html/libraries/joomla/session/session.php:531) in /home/joomla/public_html/libraries/joomla/session/session.php on line 531 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/joomla/public_html/libraries/joomla/session/session.php:531) in /home/joomla/public_html/libraries/joomla/session/session.php on line 531
That was triggered by the php configuration:
main | session.save_path | tcp://127.0.0.1:11211 |
That configuration is sending the request to nowhere (I mean to a place the scripts gets no valid response or no response at all). If you have access to php.ini (located in the folder where php is installed) you can change save_path yourself, if you don't have access ask someone that has (the server administrator, for example).
The configuration should be something like this (using a folder that exists and have permission to be written by the Apache server - or any other webserver you use):
main | session.save_path | where N is an integer. Instead of storing all the session files in /path, what this will do is use subdirectories N-levels deep, and store the session data in those directories. This is useful if you or your OS have problems with lots of files in one directory, and is a more efficient layout for servers that handle lots of sessions. NOTE 1: PHP will not create this directory structure automatically. You can use the script in the ext/session dir for that purpose. NOTE 2: See the section on garbage collection below if you choose to use subdirectories for session storage | /tmp |
One other option you can work around php configuration problem is to use ini_set function to change the value of session.save_path. You have to put in the file index.php in the installation folder the following code:
@ini_set('session.save_path', '../cache');
The problem is when you'll update the package or you'll overwrite the file you'll lose the changed value and you'll have the same problem (again).