可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I get the below error when pointing browser to phpMyAdmin
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.
I have checked everything and can't seem to figure out what the problem is.
In my php.ini file I have:
session.save_path = "/var/lib/php/session"
Permissions:
drwxr-xr-x 2 root apache 4096 Feb 16 04:47 session
Nothing seems to work. Even changing permission on session directory to 777.
回答1:
Problem usually lies on your browser end.
You need to flush your browser cache, delete the cookies for the server/host and then retry loading phpMyAdmin.
If you want to go all out, clear out the session folder on the server as well.
One possible reason for this is a session data mismatch between the browser and the webserver causing it to not be able to pull out the required session info and dumping this error dialogue on your lap.
回答2:
The problem can be due to file and folder permissions; You can try changing the folder permissions:
sudo chmod 777 /var/lib/php/session/
This will set full read/write permissions on the PHP sessions folder.
Note: the php/session/
folder may be in a different location on some servers. Check your php.ini
for your session path.
回答3:
In my case it was the wrong ownership for /var/lib/php/session
. I changed that to the Apache user and group (the user and group that the webserver runs as) and all was well.
回答4:
Set the session.save_path
in your php.ini
. Make sure that you are using an existing directory.
If still you found any issue then give write & execution permission to that folder for the user by which you are going to use that folder.[This is specially used in case of IIS]
回答5:
There appears to be two common causes for this error, one is to do with the server configuration and the session.save_path and the other is the browser cache.
If you encounter this error try using a different browser or machine before you attempt to alter your Apache and PHP configurations on the server!
Note that clearing the Cookies for the server is not enough, you need to clear the cache.
In Firefox clearing all history and cookies is easy, but you may not want to get rid of
everything. Clearing the cache is hidden away in Firefox:
Tools > Options > Advanced > Network:
Cached Web Content - Clear Now
回答6:
Ok,
I'm using windows 7 ultimate and WAMP 2.4 server
The tmp folder was missing, so I created one and this solved my problem.
Check the php.ini file for the correct path: session.save_path
回答7:
Login fails if session folder in not writeable. To check that, create a PHP file in your web directory with:
<?php
$sessionPath = 'undefined';
if (!($sessionPath = ini_get('session.save_path'))) {
$sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir();
}
if (!is_writeable($sessionPath)) {
echo 'Session directory "'. $sessionPath . '"" is not writeable';
} else {
echo 'Session directory: "' . $sessionPath . '" is writeable';
}
If session folder is not writeable do either
sudo setfacl -R -m u:www-data:rwx <session directory>
or chmod 777 <session directory>
-
回答8:
For Xampp, Deleting temp flies from the 'root' folder works for me.
TH
回答9:
STOP OPENING PERMISIONS! If you use nginx (like me), just change the ownership of the folders under /var/lib/php/
from apache
to nginx
:
[root@centos ~]# cd /var/lib/php/
[root@centos php]# ll
total 12
drwxrwx---. 2 root apache 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root apache 4096 Feb 5 20:56 session
drwxrwx---. 2 root apache 4096 Jan 30 16:23 wsdlcache
[root@centos php]# chown -R :nginx opcache/
[root@centos php]# chown -R :nginx session/
[root@centos php]# chown -R :nginx wsdlcache/
[root@centos php]# ll
total 12
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root nginx 4096 Feb 5 20:56 session
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 wsdlcache
And also for the folders under /var/lib/phpMyAdmin/
:
[root@centos php]# cd /var/lib/phpMyAdmin
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 config
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 save
drwxr-x---. 2 apache apache 4096 Dec 23 20:29 upload
[root@centos phpMyAdmin]# chown -R nginx:nginx config/
[root@centos phpMyAdmin]# chown -R nginx:nginx save/
[root@centos phpMyAdmin]# chown -R nginx:nginx upload/
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 config
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 save
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 upload
回答10:
I worked on this same problem for a full day. The answer for me was to simply clear my browser's cache. Too bad, I had already reinstalled the webserver/phpmyadmin 3 times. :(
回答11:
I cleared browser cache. Created session folder as listed in phpinfo.php.
It worked !
回答12:
Knowing this thread is marked as solved, it shows up early on Google Search for the given term. So I thought it might be useful to mention another reason that can lead to this error.
If you enabled "safe/secure cookies", that has to be disabled for phpMyAdmin as it wont work with them being activated. So make sure you have nothing like:
Header set Set-Cookie HttpOnly;Secure
in your config.
回答13:
The problem can also be that you have a wrong session.save_handler
value in your php.ini
. I got this error when I changed it to memcached
, and worked again when changing back to files
回答14:
First: if not session
dir (in my case it was)
sudo mkdir /var/lib/php/session
Second: set privilege for session
dir
sudo chmod 777 /var/lib/php/session
回答15:
Problem I found in Windows server 2016 was that the permissions were wrong on the temp directory used by PHP. I added IUSR.