标签: Wordpress

  • WordPress升级出现「存在不一致的文件权限」的解决方法

    WordPress 升级出现 「存在不一致的文件权限」 的解决方法

    「因为我们不能复制一些文件,升级未被安装。这通常是因为存在不一致的文件权限。 [文件名] 安装失败」;

    解决以上问题的方法是找到该文件的地址,并将文件读写权限修改成 777 。

    以下是 CentOS 的指令:

    chmod 777 [文件名]

    如果不用指令,也可以用软件 CrossFTP(Mac) 或 FlashFTP(Windows),右键点击对应文件,选择 CHMOD 修改权限。

    如果不放心 777 的读写权限,在升级结束后再次将文件夹修改为 755 。

  • 解决WordPress响应速度过慢的问题

    解决 WordPress 响应速度过慢的问题

    关了 Jetpack!

    就这插件导致我网站打开至少 10 秒钟,现在关掉之后好多了。

    然后我挂了个腾讯 cdn,但是有时会有 http error 564 的报错,就很头疼。

    总之问题大头还是个别插件的问题。

  • WordPress开启腾讯云CDN遇到的一些问题

    WordPress 开启腾讯云 CDN 遇到的一些问题


    背景

    WordPress 打开速度堪忧,影响体验。在查询资料的时候了解到可以通过 CDN 加速来优化网站加载速度,因为服务器用的就是腾讯云,所以最后决定用腾讯云的 CDN 加速。

    问题描述

    • 按照步骤开启 CDN 加速后,发现在手机上提示网站不安全,推测网站指向了 http;
    • 进入后台进行操作时无反应,最后跳出无法连接数据库。

    问题解决

    第一个问题比较好解决:腾讯云后台能设置 http 跳转。

    第二个问题:参考魏艾斯博客,发现需要调整缓存,因为 php 等文件缓存更新时间必须设置及时响应,否则会导致功能无法实现。

    后续

    使用了腾讯云 CDN 之后 Jetpack 的 Monitor 隔一会儿就发邮件给我说网站未加载/已重新加载,非常烦人。而且使用了腾讯云 CDN 之后加速效果不是很明显,网站打开比之前快了些。

    查了下资料,参考了张旭虎 《经验分享:我是如何对 wordpress 博客加速的?/解决腾讯云 564 错误》,使用了 Autoptimize 和 WP Fastest Cache 两个插件,发现加速明显。再挂上腾讯云 CDN 之后发现还不如不挂,最终抛弃了腾讯云 CDN 。

  • 近期解决的WordPress相关问题

    近期解决的 WordPress 相关问题

    更新 PHP 之后网站出现 403,后台出现 file not found

    经过各种排查,觉得可能需要更新所有内容,包括 mariaDB 和 php 相关配套内容 (php-fpm 等),更新之后依旧如此。

    最后迫不得已重新安装了最新的 wordpress,安装之前关闭了主题和插件,因为据某篇文章 (https://www.v2ex.com/t/240774) 说会影响。重装后登录/wp-admin/install.php 设置了一下数据库,最后成功还原。原数据都还在,不影响正常使用。


    要执行请求的操作, WORDPRESS 需要访问您网页服务器的权限,输入账号密码错误

    文件属主属组不对。

    使用 ls -l 指令查看文件权限,大部分文件属主和属组分别是 root root,有几个文件是 apache root 。

    使用 chown -R u:g file 指令修改属主属组,u 为属主,g 为属组,file 为文件或路径。

    修改所有文件为 root root 之后没有解决问题,修改为 apache root 后解决问题。


    MariaDB 经常崩溃而导致网站无法连接

    查了一下类似的问题,多是因为数据库内存不足而无法分配资源。使用了创建 swap 分区的方式,目前已不再崩溃。

    分配 512M 的交换分区:

    dd if=/dev/zero of=/swap.dat bs=1024 count=524288
    mkswap /swap.dat
    swapon /swap.dat
    free -m 

    为了让系统自动挂载 swap 分区,编辑/etc/fstab 并添加一行:

    /swap.dat      swap    swap      0       0

    重新启动 MariaDB,没有再出现崩溃问题。

    参考资料:https://linux.it.net.cn/e/data/MariaDB/2014/1014/6509.html


    2019.04.24 追加

    看起来分配 512M 空间不够,上次又崩了,于是调整了一下,重新分配了 5G 交换空间,妈妈再也不用担心我的数据库崩溃了。

  • 解决WordPress无法更新版本和插件

    解决 WordPress 无法更新版本和插件


    问题描述

    • 后台更新 wordpress 时提示:无法创建目录;
    • 后台更新插件时提示:无法删除旧插件。

    解决方案一

    设置目录访问权限为 777,但是存在遭到攻击的隐患,而且我设置了也没有用。

    chmod -R 777 /usr/share/wordpress(WordPress 的目录)

    解决方案二

    在服务器后台通过 cd 定位到 wordpress 的 content 目录,发现有部分文件夹权限组和用户是 root,有部分文件夹是 apache 和 ftp 。

    安装的主题或者插件用的服务器为 Apache,所以直接授权 apache 访问权限即可。 通过 chown 设置权限组的权限。

    chown -R apache:root /usr/share/wordpress

    结果

    第一个方案测试无效,第二个方案有效。

  • 解决WordPress无法上传音频

    解决 WordPress 无法上传音频


    问题描述

    • 上传音频文件,提示 「此响应不是合法的 JSON 响应。」
    • 图片可以正常上传。

    问题推断

    图片可以正常上传,说明不是文件夹权限的问题。网上没有搜到和非法 JSON 响应相关的内容。怀疑是无法上传比较大的文件导致。

    因为之前已经调整过 Wordpress 的文件最大上传限制了,所以不太可能是 Wordpress 的问题。


    解决方法一

    治标不治本的方法:把音频文件直接放进/wp-content/uploads/目录下面,插入音频时输入 URL 。

    虽然可行,但是后台媒体库不显示该文件,无法方便管理。且每次添加文件得用 FlashFXP 传,非常麻烦。


    解决方法二

    根据 https://yq.aliyun.com/articles/625723 所述,修改 nginx.conf,在 http 段添加代码如下:

    client_max_body_size 100m;

    服务器输入指令重启 nginx:

    systemctl restart nginx

    重启后测试可以正常上传音频了。

  • 尝试解决WordPress经常无法连接数据库的问题

    尝试解决 WordPress 经常无法连接数据库的问题


    问题描述

    • 最近 Jetpack 经常提醒我 Wordpress 崩溃。上网站一看,貌似是无法访问数据库。
    • 修改 Wordpress 上传文件大小限制,然而传输超过 1M 的音频竟然会导致网站崩溃,出现与上一条类似的情况。

    问题推断

    怀疑是因为内存限制过小导致的。

    解决方案一

    在 wp-config.php 文件内添加代码如下:

    define(『WP_MEMORY_LIMIT』, 』128M』);

    其结果是在网站首页顶部出现了如下代码:

    Constant WP_MEMORY_LIMIT already defined in /etc/wordpress/wp-config.php on line 104

    看起来是对于内存限制的代码重复了。

    解决方案二

    根据 https://blog.csdn.net/qq_17087739/article/details/48137359 的描述去修改了/wp-includes/default-constants.php 里的相关代码:

    // set memory limits
    if( !defined('WP_MEMORY_LIMIT') ) {
        if( is_multisite() ) {
            define('WP_MEMORY_LIMIT','128M');
        }else{
            define('WP_MEMORY_LIMIT','64M');
        }
    }
      
    if( ! defined('WP_MAX_MEMORY_LIMIT') ) {
        define('WP_MAX_MEMORY_LIMIT','256M');
    }

    将其改为了:

    // set memory limits
    if( !defined('WP_MEMORY_LIMIT') ) {
        if( is_multisite() ) {
            define('WP_MEMORY_LIMIT','256M');
        }else{
            define('WP_MEMORY_LIMIT','256M');
        }
    }
      
    if( ! defined('WP_MAX_MEMORY_LIMIT') ) {
        define('WP_MAX_MEMORY_LIMIT','256M');
    }

    并且将解决方案一里添加的代码去掉。目前正在观望结果。


    2019.04.03 跟进结果

    目前依旧偶尔会崩溃。

    2019.04.24 跟进结果

    结合前段时间解决的问题汇总 (近期解决的 WordPress 相关问题),猜测是因为数据库内存不足,无法分配资源,而导致 mariaDB 崩溃。解决方法已在文章里说明。