我的主题有一个提交帖子页面,我配置了每个人上传的用户功能。
但没有人能够上传。当我点击“添加媒体”按钮并选择任何要上传的文件时,我当前的帐户会自动退出。
在用户尝试上传后,该位置的访问者数量下降。你怎么看?为何要退出?
答案 0 :(得分:2)
为什么WordPress会继续退出?
WordPress在浏览器中设置cookie以验证登录会话。此cookie是为存储在设置部分中的WordPress URL设置的。
如果您从与WordPress设置中的网址不匹配的网址进行访问,则WordPress将无法对您的会话进行身份验证。
修复登录问题
此登录问题的一个简单修复是确保您的WordPress设置中的站点地址和WordPress地址字段中具有相同的URL。
这意味着您需要在这两个字段中选择www或非www URL。
登录您的WordPress信息中心,然后转到设置»常规。
如果您无法访问管理区域,则可以通过编辑wp-config.php
文件来更新这些字段。
使用FTP客户端连接到您的网站,并在您网站的根目录中找到wp-config.php
文件。您需要将此文件下载到桌面并在记事本等文本编辑器中打开它。在行的上方添加此代码全部,停止编辑!快乐的博客。
define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');
如果您希望在网址中使用www,请改用此代码
define('WP_HOME','http://www.example.com');
define('WP_SITEURL','http://www.example.com');
答案 1 :(得分:0)
这可能对您有所帮助
要了解服务器上的默认(基于文件的会话)会话超时值,您可以通过ini_get命令查看它:
// Get the current Session Timeout Value
$currentTimeoutInSecs = ini_get(’session.gc_maxlifetime’);
更改会话超时值
// Change the session timeout value to 30 minutes // 8*60*60 = 8 hours
ini_set(’session.gc_maxlifetime’, 30*60);
//————————————————————————————–
// php.ini setting required for session timeout.
ini_set(‘session.gc_maxlifetime’,30);
ini_set(‘session.gc_probability’,1);
ini_set(‘session.gc_divisor’,1);
//————————————————————————————–
//if you want to change the session.cookie_lifetime.
//This required in some common file because to get the session values in whole application we need to write session_start(); to each file then only will get $_SESSION global variable values.
$sessionCookieExpireTime=8*60*60;
session_set_cookie_params($sessionCookieExpireTime);
session_start();
//重置页面加载时的到期时间// session_name()是会话PHPSESSID的默认名称
if (isset($_COOKIE[session_name()]))
setcookie(session_name(), $_COOKIE[session_name()], time() + $sessionCookieExpireTime, “/”);
//————————————————————————————–
//To get the session cookie set param values.
$CookieInfo = session_get_cookie_params();
echo “<pre>”;
echo “Session information session_get_cookie_params function :: <br />”;
print_r($CookieInfo);
echo “</pre>”;
//————————————————————————————–
php.ini文件的会话相关设置的一些描述。
session.gc_maxlifetime整数 session.gc_maxlifetime指定数据被视为“垃圾”并清理的秒数。在会话开始期间发生垃圾收集。 session.cookie_lifetime integer
session.cookie_lifetime指定发送到浏览器的cookie的生命周期(以秒为单位)。
值0表示“直到浏览器关闭。”默认为0.另请参见session_get_cookie_params()和session_set_cookie_params()。
由于浏览器返回cookie,因此不会延长使用寿命。它必须由setcookie()手动发送。
答案 2 :(得分:0)
在我的情况下,此问题是由HTTPS激活和 wp_signon 函数的参数 $ secure_cookie 设置为 false而不是true / empty < / p>
https://developer.wordpress.org/reference/functions/wp_signon/
$creds = [
'user_login' => $user_login,
'user_password' => $password,
'remember' => 'true',
];
$signon = wp_signon($creds, true); // <<< USE true OR REMOVE PARAM