wordpress安装add-from-server插件问题

 小弟最近有在企鹅云上捣鼓一个主机,有尝试安装wordpress。有遇到wordpress只支持上传2MB大小的附件这种问题;所以想办法先将大的媒体文件传到主机,然后再将媒体文件添加到wordpress的数据库中;
 现将解决方法记录如下:

安装rz/sz命令

因为在主机上没有安装ftp服务,所以为了方便上传下载文件,有安装rz/sz命令,主机是centos,如下安装方法:

yum install lrzsz

企鹅的主机默认源都有设定好,所以直接yum安装就行。
然后使用终端Xshell或者Secure CRT(不能使用putty),因为这两个终端有支持Zmodem,rz和sz需要终端切换到Zmodem,发送和接收文件命令分别如下:

rz \\弹出资源管理器,用户选择文件发生到云主机
sz 1.bin \\云主机发送1.bin到本地,这个会弹出资源管理器,让用户选择文件保存的本地目录

安装add-from-server

网上搜索add-from-server,并放在wordpress的wordpress/wp-content/plugins目录,然后进入wordpress的网页管理终端,选择加载
add-from-server这个插件,重点来了,结果很不幸在我的centos环境下提示:

This plugin requires WordPress 4.5 or greater, and PHP 5.4 or greater. You are currently running WordPress 4.8.1 and PHP 5.3. Please contact your website host or server administrator for more information. The plugin has been deactivated.add-from-server

我主机上安装的php版本是5.3.3,而且在企鹅云上yum能安装的最新版本就只到5.3.3.
后续有想办法,重新安装php,有自己抓源码包php5.6安装,折腾了半天(默认主机不带gcc编译器),解决一堆编译问题后,编译成功。但是在跟wordpress衔接上又出现奇奇怪怪的问题,所以放弃!!!
然后又想到直接去更改wordpress的2MB限制,有参考网上的各种办法,但是在企鹅云上就是不成功(真不知道企鹅云有什么奇怪的设定存在);
后面发现add-from-server代码量很小,所以想了想:是不是自己去看看php代码,看能否自己修改OK。我之前是完全不懂php,真不知道为嘛突然会想到这里
哈,想到做到,立马开sublime看源码,以自己的C思维看php,真看出下面点东西,见add-from-server.php

if ( !is_admin() ) {
    return;
}

define( 'ADD_FROM_SERVER_WP_REQUIREMENT', '4.5' );
define( 'ADD_FROM_SERVER_PHP_REQUIREMENT', '5.4' );

// Old versions of WordPress or PHP
if ( version_compare( $GLOBALS['wp_version'], ADD_FROM_SERVER_WP_REQUIREMENT, '<' ) || version_compare( phpversion(), ADD_FROM_SERVER_PHP_REQUIREMENT, '<' ) ) {
    include dirname( __FILE__ ) . '/old-versions.php';
} else {
    include __DIR__ . '/class.add-from-server.php';
}

$add_from_server = new Add_From_Server( plugin_basename( __FILE__ ) );

从上面代码看,应该有用到version_compare()这个方法去比较当前的wordpress、php版本是否符合要求。如果不符合要求,就会执行
/old-versions.php这里面的code;
然后看old-versions.php里面的code,如下:

printf(
            '<div class="error"><p><strong>%s</strong>: %s</p></div>',
            __( 'Add From Server', 'add-from-server' ),
            sprintf(
                __( 'This plugin requires WordPress %1$s or greater, and PHP %2$s or greater. You are currently running WordPress %3$s and PHP %4$s. Please contact your website host or server administrator for more information. The plugin has been deactivated.', 'add-from-server' ),
                ADD_FROM_SERVER_WP_REQUIREMENT,
                ADD_FROM_SERVER_PHP_REQUIREMENT,
                $GLOBALS['wp_version'],
                phpversion()

果然是之前在wordpress上安装插件失败时候的打印。
然后我的改法是将

define( 'ADD_FROM_SERVER_WP_REQUIREMENT', '4.5' );
define( 'ADD_FROM_SERVER_PHP_REQUIREMENT', '5.4' );

ADD_FROM_SERVER_PHP_REQUIREMENT更改为5.3,这样后,该插件就安装成功。
开始还担心这样修改后,是不是5.4有什么新的特性有被add-from-server用到。但是我是担心多余了,用起来完全正常,可以添加主机上的任意媒体文件到wordpress的数据库。
哈哈,感谢自己的灵鸡一动!想不到问题就这么简单解决了。

猜你喜欢

转载自blog.csdn.net/zyj_zhouyongjun183/article/details/78057306