阅读了很多内容以解决这个问题,但我被困了......: - (
将WP站点从共享移动到linode VPS。
CONFIGS :
WordPress 3.6.1
mysql Ver 14.14 Distrib 5.7.5-m15,适用于Linux(x86_64),使用EditLine包装器
PHP 5.5.18-1 + deb.sury.org~precision + 1(cli)(建于:2014年10月17日15:11:34)
的阿帕奇
服务器版本:Apache / 2.4.10(Ubuntu)
服务器内置:2014年7月22日22:57:50
数据库是ut8
虚拟主机配置文件:
DocumentRoot /home/userName/webSite
<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/>
Options FollowSymLinks MultiViews
AllowOverride None
Require all granted
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
htaccess的:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
wp_usermeta中的管理员表:
wp_capabilities
a:1:{s:13:"administrator";s:1:"1";}
所以登录没问题
编辑帖子正在工作中
的万阿英,蒋达清:
新帖已经'提交审核'按钮,发布了'发布'!
点击“提交审核”即表示“您没有合适的权限来修改帖子”
我似乎无法找到问题
我尝试修复文件和文件夹权限
添加define('WP_HOME'和define('WP_SITEURL'到wp-config
我甚至不知道从哪里开始......
wp_posts表在ID上有A_I。 wp_posts DUMP显示:
--
-- AUTO_INCREMENT for table `wp_posts`
--
ALTER TABLE `wp_posts`
MODIFY `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=7633;
7633是下一个帖子ID。
我该如何解决这个问题? 请查询任何问题,因为我已经完成了网上建议的大部分修复。
ThanX: - )
答案 0 :(得分:3)
您的环境中有什么? Mysql为一个!
鉴于涉及迁移,我敢打赌它与您的数据库有关...您可以检查日志以找出哪些查询失败。对我而言,它是sql_mode,特别是与未被接受的日期时间的0相关。 (发生在新的帖子草稿上)。
继续阅读以解决sql_mode,如果这是你的问题。
要查看当前sql_mode
的内容,可以在mysql中执行此操作(可能是作为root mysql用户):SELECT @@sql_mode;
Wordpress使用0表示“空”日期时间,而某些sql模式设置不允许这样做。我相信那里有插件试图在应用层(在wordpress中)解决这个0的日期问题,但我认为这可能有点hacky ......
我选择切换我的sql_mode并使我的sql模式只有NO_ENGINE_SUBSTITUTION
,因为wordpress是唯一使用我的数据库的东西,我对我的项目的sql_mode没问题。您可能需要保留sql_mode设置中的大多数设置,但只需删除no zero in date选项,这就是为什么在重置之前应检查当前sql_mode的原因。
MySQL 5.7中的默认SQL模式包括以下模式:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER和NO_ENGINE_SUBSTITUTION。
因此,如果您发现NO_ZERO_IN_DATE, NO_ZERO_DATE
,可能需要删除var videoPlayer = document.getElementById('myPlayer');
var user_agent = navigator.userAgent.toLowerCase();
if(user_agent.indexOf('android') > -1) {
videoPlayer.requestFullscreen();
}
,并保留其余内容。
要在服务器启动时设置SQL模式,请使用--sql-mode =“modes” 命令行上的选项,或选项文件中的sql-mode =“modes” 如my.cnf(Unix操作系统)或my.ini(Windows)。模式是一个 由逗号分隔的不同模式的列表。要清除SQL模式 显式地,使用--sql-mode =“”将其设置为空字符串 命令行,或选项文件中的sql-mode =“”。
我在我的服务器上将 options.cnf 或 my.cnf 设置为mysql程序。
答案 1 :(得分:0)
解决方案
定义新的管理员用户
使用该管理员用户登录
将您之前的管理员降低为撰稿人
将其增加回管理员
使用原始管理员登录
现在可以了。
删除新管理员
现在它已恢复正常。
答案 2 :(得分:0)
我能找到的唯一解决方案就是诀窍,在其他许多不同的解决方案之后安装了WordPress4.0.1的全新副本并修复了所有内容。