zoukankan      html  css  js  c++  java
  • WordPress中uploads目录替换为SAE的Storage方法

    sae每个应用代码只能用100M的空间,所以把wordpress中的uploads上传目录替换到Storage上去,上传的图片就可以直接保存到Storage中,Storage中有10G的空间可以用。

    WordPress中uploads目录替换为SAE的Storage方法

    1、在Storage中建好一个叫wordpress的domain


    在SAE上创建应用,安装WordPress for SAE版本的时候会提示要先在Storage中建个wordpress的domain。

    image

    2、在应用的根目录,创建sae.php文件


    1).先用svn的工具TortoiseSVN把应用的代码全部checkout到本地。

    image

    在应用的根目录,创建sae.php文件

    代码如下:

    <?php
    /* 在SAE的Storage中新建的Domain名,比如“wordpress”*/
    define('SAE_STORAGE',wordpress);
    /* 设置文件上传的路径和文件路径的URL,不要更改 */
    define('SAE_DIR', 'saestor://'.SAE_STORAGE.'/uploads');
    define('SAE_URL', 'http://'.$_SERVER['HTTP_APPNAME'].'-'.SAE_STORAGE.'.stor.sinaapp.com/uploads');
    ?>

    修改wp-includes/functions.php文件


    require( ABSPATH . WPINC . '/option.php' );

    前添加一行:

    include( ABSPATH . '/sae.php' ); //调用SAE的Storage文件域名设置 //for SAE

    2). 注释掉如下代码:

    $wrapper = null;
    
        // Strip the protocol.
        if( wp_is_stream( $target ) ) {
            list( $wrapper, $target ) = explode( '://', $target, 2 );
        }
    
        // From php.net/mkdir user contributed notes.
        $target = str_replace( '//', '/', $target );
    
        // Put the wrapper back on the target.
        if( $wrapper !== null ) {
            $target = $wrapper . '://' . $target;
        }
    替换为:
    // for SAE begin
        //from php.net/mkdir user contributed notes
        if (substr($target,0,10)=='saestor://'){
            return true;
            }
        $target=str_replace('//','/',$target);
    //for SAE end

    3).

    $basedir = $dir;

    的上面添加如下代码:

    // for SAE begin
    $dir = SAE_DIR;
    $url = SAE_URL;
    //for SAE end

    4).

    /** * Send a HTTP header to limit rendering of pages to same origin iframes.
    的上面添加如下代码:
    // for SAE begin
    if ( !function_exists('utf8_encode') ) {
    function utf8_encode($str) {
    $encoding_in = mb_detect_encoding($str);
    return mb_convert_encoding($str, 'UTF-8', $encoding_in);
    }
    }
    //for SAE end

    修改wp-admin/includes/file.php文件


    注释掉如下代码:

    // Set correct file permissions
    $stat = stat( dirname( $new_file ));
    $perms = $stat['mode'] & 0000666;
    @ chmod( $new_file, $perms );

    提交代码


    全部完成后,在应用目录上右键,选择“SVN Commit...”,填写相应的描述信息,把这些文件修改的文件勾都打上,提交。

    image


    提交完成后,在网站后台的媒体库上可以上传一张图片测试,会成功上传到Storage的wordpress中。而且可以看到图片的完整链接地址。

    当然你可以直接在Storage里面上传,不过因为博客搬家需要上传的多,就用了Cyberduck的软件工具。 

    Storage wordpress下面的uploads目录下 如图:

    image

    注意事项


    设置完成后,可以先在wordpress后台“媒体库”中提交一张图片,以确定设置正确。

  • 相关阅读:
    PRTG安装
    如何诊断windows性能问题
    windows性能监控
    PAM 認 證 模 組
    RHEL磁盘修复
    RHEL下修改市区
    Recover database using backup controlfile until cancel
    Cancel-Based Recovery
    北京、上海的人口并不多
    swoole中http_server的配置与使用
  • 原文地址:https://www.cnblogs.com/secret114/p/4556095.html
Copyright © 2011-2022 走看看