作者: null

  • Excel规划求解演示

    Excel规划求解演示

    Excel规划求解演示

    这个演示,是在新项目进场前的筹备期,HR需要对人工成本进行测算,根据员工实发反推工资标准的示例。

  • 岗位说明书与部门职责(模板)

    岗位说明书与部门职责(模板)

    岗位说明书与部门职责(模板)

    Document Preview
    CC-BY-NC-SA

    岗位说明书与部门职责(模板) is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

  • Excel基础知识与简单函数

    Excel基础知识与简单函数

    Excel基础知识与简单函数

    PPT课件

    Document Preview

    学员版课件

    Document Preview
    CC-BY-NC-SA

    Excel基础知识与简单函数 is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

  • 一个用于MediaWIki使用腾讯云COS文件预览的扩展

    一个用于MediaWIki使用腾讯云COS文件预览的扩展

    一个用于MediaWIki使用腾讯云COS文件预览的扩展

    image-20241121123042728
    image-20241121123056733

    示例页面:全国社平、最低工资标准及社保比例 – null (blog.guohao.asia/)

    使用说明

    安装

    1. 上传至extensions并解压;
    2. 在本地MediaWiki中搜索MediaWiki:Common.css,将以下CSS填入页面:
       .responsive-iframe {
           width: 100%; /* 宽度自适应 */
           height: 100vh; /* 高度设置为视窗高度 */
           border: none;
       }
    1. LocalSettings.php中加入以下代码启用扩展:
    wfLoadExtension('CosPreview');

    使用

    <cospreview id="cdn-1253443493" path="picgo/202411201059195.xlsx" region="ap-beijing" />

    Usage Instructions

    Installation

    1. Upload to the extensions directory and unzip;
    2. Search for MediaWiki:Common.css in your local MediaWiki, and add the following CSS to the page:
       .responsive-iframe {
           width: 100%; /* Full width responsiveness */
           height: 100vh; /* Height set to viewport height */
           border: none;
       }
    1. Add the following code to LocalSettings.php to enable the extension:
    wfLoadExtension('CosPreview');

    用法

    <cospreview id="cdn-1253443493" path="picgo/202411201059195.xlsx" region="ap-beijing" />

    显示效果:

    Document Preview

    https://wwoi.lanzoub.com/iyJZ72gihtmf
    密码:afo8

    CC-BY-NC-SA

    一个用于MediaWIki使用腾讯云COS文件预览的扩展 is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

  • 一个用于MediaWIki使用腾讯云COS文件预览的扩展

    一个用于MediaWIki使用腾讯云COS文件预览的扩展

    一个用于MediaWIki使用腾讯云COS文件预览的扩展

    image-20241121123042728
    image-20241121123056733

    示例页面:全国社平、最低工资标准及社保比例 – null (blog.guohao.asia/)

    使用说明

    安装

    1. 上传至extensions并解压;
    2. 在本地MediaWiki中搜索MediaWiki:Common.css,将以下CSS填入页面:
       .responsive-iframe {
           width: 100%; /* 宽度自适应 */
           height: 100vh; /* 高度设置为视窗高度 */
           border: none;
       }
    1. LocalSettings.php中加入以下代码启用扩展:
    wfLoadExtension('CosPreview');

    使用

    <cospreview id="cdn-1253443493" path="picgo/202411201059195.xlsx" region="ap-beijing" />

    Usage Instructions

    Installation

    1. Upload to the extensions directory and unzip;
    2. Search for MediaWiki:Common.css in your local MediaWiki, and add the following CSS to the page:
       .responsive-iframe {
           width: 100%; /* Full width responsiveness */
           height: 100vh; /* Height set to viewport height */
           border: none;
       }
    1. Add the following code to LocalSettings.php to enable the extension:
    wfLoadExtension('CosPreview');

    用法

    <cospreview id="cdn-1253443493" path="picgo/202411201059195.xlsx" region="ap-beijing" />

    显示效果:

    Document Preview

    https://wwoi.lanzoub.com/iyJZ72gihtmf
    密码:afo8

    CC-BY-NC-SA

    一个用于MediaWIki使用腾讯云COS文件预览的扩展 is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.

  • MediaWiki配置文件分享

    MediaWiki配置文件分享

    MediaWiki配置文件分享

    MediaWiki的配置文件位于/path/mediawiki/LocalSettings.php

    以下是https://docs.guohao.asia/ 经脱敏的配置文件内容(修改配置前请务必做好备份)

    <?php
    # 防止直接通过网页访问
    if ( !defined( 'MEDIAWIKI' ) ) {
    	exit;
    }
    
    ## 基本设置
    $wgSitename = "null";  # 站点名称
    $wgMetaNamespace = "Null";  # 站点命名空间
    $wgScriptPath = "";  # 脚本路径
    $wgServer = "https://docs.guohao.asia";  # 服务器地址
    $wgResourceBasePath = $wgScriptPath;  # 静态资源路径
    $wgLogos = [
    	'1x' => "$wgResourceBasePath/resources/assets/logo.png",  # 站点logo
    	'icon' => "$wgResourceBasePath/resources/assets/logo.png",
    ];
    
    ## 用户和邮件设置
    $wgEnableEmail = true;  # 启用邮件功能
    $wgEnableUserEmail = true;  # 用户邮件通知
    $wgEmergencyContact = "";  # 紧急联系邮箱
    $wgPasswordSender = "x@xx.xxx";  # 密码发送者邮箱
    $wgEnotifUserTalk = false;  # 用户对话通知
    $wgEnotifWatchlist = false;  # 观察列表通知
    $wgEmailAuthentication = true;  # 启用邮件认证
    
    ## 数据库设置
    $wgDBtype = "mysql";  # 数据库类型
    $wgDBserver = "localhost";  # 数据库服务器
    $wgDBname = "xxxx";  # 数据库名称
    $wgDBuser = "xxxx";  # 数据库用户名
    $wgDBpassword = "xxxx";  # 数据库密码
    $wgDBprefix = "xxxx";  # 数据库表前缀
    $wgDBssl = false;  # 是否使用SSL
    $wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";  # 数据库表选项
    $wgSharedTables[] = "actor";  # 共享数据库表
    
    ## 缓存设置
    $wgMainCacheType = CACHE_MEMCACHED;  # 主缓存类型
    $wgParserCacheType = CACHE_MEMCACHED;  # 解析器缓存类型
    $wgMessageCacheType = CACHE_MEMCACHED;  # 消息缓存类型
    $wgMemCachedServers = array("127.0.0.1:11211");  # Memcached服务器地址
    
    ## 文件和上传设置
    $wgEnableUploads = true;  # 启用文件上传
    $wgUseImageMagick = true;  # 使用ImageMagick处理图片
    $wgImageMagickConvertCommand = "/usr/bin/convert";  # ImageMagick命令路径
    $wgUseInstantCommons = false;  # 是否使用即时共享图片
    
    ## 语言和时区设置
    $wgLanguageCode = "zh-cn";  # 语言代码
    $wgLocaltimezone = "PRC";  # 时区设置
    
    ## 安全和性能设置
    $wgSecretKey = "26abb9898bb4cb347aa8cc71bcxxxxxxxxxxxxxxxx9824f6078771c5d40b0cb44765cf8bbf";  # 安全密钥
    $wgAuthenticationTokenVersion = "1";  # 认证令牌版本
    $wgUpgradeKey = "d0ddxxxx07b2xxxx";  # 升级密钥
    
    ## 版权和皮肤设置
    $wgRightsPage = "";  # 版权页面
    $wgRightsUrl = "";  # 版权链接
    $wgRightsText = "";  # 版权文本
    $wgRightsIcon = "";  # 版权图标
    $wgDefaultSkin = "vector-2022";  # 默认皮肤
    wfLoadSkin( 'MinervaNeue' );  # 加载皮肤
    wfLoadSkin( 'MonoBook' );
    wfLoadSkin( 'Timeless' );
    wfLoadSkin( 'Vector' );
    
    ## 页脚和工具栏设置
    unset($wgFooterIcons['poweredby']);  # 去掉底部的Powered by
    $wgDefaultUserOptions['usebetatoolbar'] = 1;  # 启用测试工具栏
    
    ## 访问和内容设置
    $wgShowIPinHeader = false;  # 不在头部显示IP
    $wgAllowHttpsExternalImages = true;  # 允许外链HTTPS图片
    $wgAllowCopyUploads = true;  # 允许通过URL上传图片
    $wgAllowExternalImages = true;  # 允许外链图片
    $wgFileExtensions = array('png','gif','jpg','jpeg','doc','ppt','pptx','pdf','docx','xls','xlsx','webp','svg','mp4','mp3');  # 允许的文件扩展名
    $wgVerifyMimeType = false;  # 不验证MIME类型
    
    ## 钩子和脚本设置
    $wgHooks['BeforePageDisplay'][] = function( OutputPage &$out, Skin &$skin ) {
        // 添加Mermaid.js脚本
        $out->addScript( '<script src="https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.9.1/mermaid.min.js" integrity="sha512-6a80OTZVmEJhqYJUmYd5z8yHUCDlYnj6q9XwB/gKOEyNQV/Q8u+XeSG59a2ZKFEHGTYzgfOQKYEBtrZV7vBr+Q==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>' );
    
        // 添加Google AdSense脚本
        $out->addScript( '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-36xxxx78343xxxx0" crossorigin="anonymous"></script>' );
    
        // 添加统计代码
        $out->addScript( '<script type="text/javascript" src="//api.tongjiniao.com/c?_=7xxxx772xxxx819968" async></script>' );
    };
    
    ## 编辑和页面创建权限设置
    $wgGroupPermissions['*']['edit'] = false;  # 禁止未登录用户编辑
    $wgGroupPermissions['*']['createpage'] = false;  # 禁止未登录用户创建页面
    $wgGroupPermissions['sysop']['edit'] = true;  # 允许管理员编辑
    $wgGroupPermissions['sysop']['createpage'] = true;  # 允许管理员创建页面
    
    ## 移动和默认皮肤设置
    wfLoadSkin( 'Citizen' );  # 加载移动皮肤
    $wgDefaultMobileSkin = 'citizen';  # 默认移动皮肤
    
    ## HTML和内容安全策略设置
    $wgContentSecurityPolicy = "
        default-src 'self';
        img-src 'self' https://*;
        media-src 'self' https://www.guohao.asia https://blog.guohao.asia/ https://docs.guohao.asia;  
        script-src 'self';
        style-src 'self';
    ";
    $wgAllowIframeTag = true;  # 允许iframe标签
    $wgHTML5Video = true;  # 启用HTML5视频
    $wgRawHtml = true;  # 允许解析HTML
    
    ## 管理员权限设置
    $wgGroupPermissions['sysop']['deleterevision'] = true;  # 允许管理员删除修订记录
    $wgGroupPermissions['sysop']['deletelogentry'] = true;  # 允许管理员删除日志条目
    
    ## 邮件服务器设置
    $wgSMTP = [
        'host'      => 'smtp-relay.brevo.com',  # SMTP服务器地址
        'IDHost'    => 'smtp-relay.brevo.com',  # 通常是网站域名
        'localhost' => 'smtp-relay.brevo.com',  # 某些邮件服务器需要此参数
        'port'      => 587,  # 连接到SMTP服务器的端口
        'auth'      => true,  # 是否使用SMTP认证
        'username'  => 'xxxx8xxxx@smtp-brevo.com',  # SMTP认证用户名
        'password'  => 'xxxxMxxxxsxxxxpO'  # SMTP认证密码
    ];
    
    ## 未登录用户的缓存设置
    $wgUseFileCache = true;  # 启用文件缓存
    $wgFileCacheDirectory = "$IP/images/cache";  # 文件缓存目录
    $wgMainCacheType = CACHE_MEMCACHED;  # 主缓存类型
    $wgParserCacheType = CACHE_MEMCACHED;  # 解析器缓存类型
    $wgMessageCacheType = CACHE_MEMCACHED;  # 消息缓存类型
    $wgMemCachedServers = [ '127.0.0.1:11211' ];  # Memcached服务器地址
    $wgSessionsInObjectCache = true;  # 启用对象缓存会话
    $wgSessionCacheType = CACHE_MEMCACHED;  # 会话缓存类型
    
    ## 扩展设置
    wfLoadExtension( 'SyntaxHighlight_GeSHi' );  # 语法高亮扩展
    wfLoadExtension( 'ImageMap' );  # 图片地图扩展
    wfLoadExtension( 'HeaderFooter' );  # 页眉页脚扩展
    wfLoadExtension( 'EmbedVideo' );  # 视频嵌入扩展
    wfLoadExtension( 'VisualEditor' );  # 可视化编辑器扩展
    wfLoadExtension( 'AdminLinks' );  # 管理链接扩展
    wfLoadExtension( 'Widgets' );  # 小部件扩展
    wfLoadExtension( 'Cite' );  # 引用扩展
    wfLoadExtension( 'ParserFunctions' );  # 解析器函数扩展
    wfLoadExtension( 'PageImages' );  # 页面图片扩展
    wfLoadExtension( 'Math' );  # 数学公式扩展
    wfLoadExtension( 'PdfHandler' );  # PDF处理扩展
    wfLoadExtension( 'ImportOfficeFiles' );  # 导入办公文件扩展
    wfLoadExtension( 'MultimediaViewer' );  # 多媒体查看器扩展
    wfLoadExtension( 'OATHAuth' );  # OATH认证扩展
    ?>
  • Nextcloud配置和优化

    Nextcloud配置和优化

    Nextcloud配置和优化


    Nextcloud数据库索引修复

    当Nextcloud数据库丢失索引时,可以通过命令行手动修复。请在Nextcloud安装根目录执行以下命令:

     sudo -u www php occ db:add-missing-indices

    例如,修复丢失的索引“mail_messages_msgid_idx”:

     sudo -u www php occ db:add-missing-indices

    修复后可以显著提高查询速度。

    Nextcloud配置文件(config.php)

     <?php
    $CONFIG = array(
      'objectstore' => array(
        'class' => '\\OC\\Files\\ObjectStore\\S3',
        'arguments' => array(
          'bucket' => 'nextcloud-*******', // 存储桶名称(空间名称)
          'autocreate' => false,
          'key'  => 'AKID***********', // 替换为用户的 SecretId
          'secret' => '**********', // 替换为用户的 SecretKey
          'hostname' => 'cos.<Region>.myqcloud.com', // 将 <Region> 修改为所属地域,如 ap-shanghai
          'use_ssl' => true,
        ),
      ),
      'instanceid' => 'oc82tpo2f',
      'passwordsalt' => '2GdQCVNsIVYF1KLP3fT3woH69X',
      'secret' => 'VSy0Y+/2wV7g4kvbiKSE0dSa2Yp1ajtvvZpgdV14Lsc',
      'trusted_domains' => array(
        0 => 'nextcloud.***.***',
      ), // nextcloud域名
      'datadirectory' => '/www/nextcloud/data', // data路径,请根据实际情况修改
      'dbtype' => 'mysql',
      'version' => '27.1.5.1',
      'overwrite.cli.url' => 'https://nextcloud.***.***/nextcloud',
      'dbname' => 'nextcloud',
      'dbhost' => 'localhost',
      'dbport' => '',
      'dbtableprefix' => 'oc_',
      'mysql.utf8mb4' => true,
      'dbuser' => 'nextcloud', // 数据库用户名
      'dbpassword' => '******', // 数据库密码
      'installed' => true,
      'maintenance' => false,
      'updater.secret' => '\$2y\$10\$0eTb6aJ4u3NAWwlQk2qkUOTlI3.0O6TGLwAQOCyUtH/wmCpC',
      'theme' => '',
      'loglevel' => 2,
      'filelocking.enabled' => true,
      'memcache.local' => '\\OC\\Memcache\\Redis',
      'memcache.locking' => '\\OC\\Memcache\\Redis',
      'redis' => array(
        'host' => '127.0.0.1',
        'port' => 6379,
        'timeout' => 0.0,
        'password' => '', // redis密码
      ),
      'mail_smtpmode' => 'smtp',
      'mail_sendmailmode' => 'smtp',
      'mail_from_address' => '****', // 请根据实际情况修改
      'mail_domain' => 'outlook.com', // 请根据实际情况修改
      'mail_smtpauth' => 1,
      'mail_smtphost' => 'smtp-mail.outlook.com', // 请根据实际情况修改
      'mail_smtpport' => '587', // 请根据实际情况修改
      'mail_smtpname' => '*****', // 请根据实际情况修改
      'mail_smtppassword' => '****', // 请根据实际情况修改
      'enabledPreviewProviders' => [
        'OC\Preview\MP3',
        'OC\Preview\TXT',
        'OC\Preview\MarkDown',
        'OC\Preview\OpenDocument',
        'OC\Preview\Krita',
        'OC\Preview\Imaginary',
      ],
      'preview_imaginary_url' => 'http://<url of imaginary>',
    );

    Nextcloud性能优化

    后台任务

    设置cron.php每5分钟运行一次,cron.php的具体路径在nextcloud安装的根目录下。

     crontab -u www -e
    */5 * * * * php -f /PathToNextcloud/cron.php

    PHP配置优化

    1. 注释掉php.ini中的output_buffering设置:
     ; output_buffering = 4096
    1. 启用OPcache以提高性能:
    opcache.enable=1
    opcache.enable_cli=1
    opcache.interned_strings_buffer=32
    opcache.max_accelerated_files=80000
    opcache.memory_consumption=128
    opcache.save_comments=1
    opcache.revalidate_freq=3
    1. 设置HSTS以提高安全性,在apache的配置文件中加入:
    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
    </IfModule>

    完整性检查

    如果Nextcloud文件完整性检查发现问题,可以根据文档中的指导进行修复。例如,.user.ini文件缺失可以创建该文件并设置适当的open_basedir,或者在宝塔面板中开启放跨站。

    完整config.php设置

    <?php
    $CONFIG = array(
      'instanceid' => 'xxxxxxxxxxx',
      'passwordsalt' => 'xxxxxxxxxxxxxxxxxx',
      'secret' => 'TNFR/+xxxxxxxxxxxxxxxxxxx/',
      'trusted_domains' => 
      array (
        0 => 'nextcloud.guohao.asia',
      ),
      'datadirectory' => '/www/wwwroot/nextcloud/data',
      'dbtype' => 'mysql',
      'version' => '24.0.5.1',
      'overwrite.cli.url' => 'https://nextcloud.guohao.asia', 
      'dbname' => 'xxxxxxxxxxxx',
      'dbhost' => 'localhost',
      'dbport' => '',
      'dbtableprefix' => 'oc_',
      'mysql.utf8mb4' => true,
      'dbuser' => 'xxxxxxxxxx',
      'dbpassword' => 'xxxxxxxxx',
      'installed' => true,
      'app_install_overwrite' => 
      array (
        0 => 'tencentcloudcosconfig',
        1 => 'files_external_onedrive',
      ),  
      // 缓存设置
      'memcache.local' => 'OC\\Memcache\\Redis',        
      'memcache.distributed' => 'OC\\Memcache\\Memcached',
      'redis' => [        #Redis
        'host' => 'localhost', #Redis 服务器
        'port' => 6379,     #Redis 端口
        'timeout' => 0.0,       #Redis 超时设定
        'password' => 'XXXXXXXXXXX',        #Redis 密码
        'dbindex' => 1,     #Redis 数据库选择
      ],
      'memcached_servers' => array(        #Memcached 服务器
        array('localhost', 11211),
      ),
      'memcached_options' => array(        #Memcached 选项
        \Memcached::OPT_CONNECT_TIMEOUT => 50,
        \Memcached::OPT_RETRY_TIMEOUT =>   50,
        \Memcached::OPT_SEND_TIMEOUT =>    50,
        \Memcached::OPT_RECV_TIMEOUT =>    50,
        \Memcached::OPT_POLL_TIMEOUT =>    50,
        \Memcached::OPT_COMPRESSION =>          true,
        \Memcached::OPT_LIBKETAMA_COMPATIBLE => true,
        \Memcached::OPT_BINARY_PROTOCOL =>      true,
      ),
      'cache_path' => '/www/wwwroot/nextcloud/cache',        #缓存目录
      'cache_chunk_gc_ttl' => 60*60*24,        #缓存删除时间
      // 腾讯云COS  
      'objectstore' => 
      array (
        'class' => '\\OC\\Files\\ObjectStore\\S3',
        'arguments' => 
        array (
          'key' => 'XXXXXXXXXXXXXXXXXXXXXXXX',
          'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXX',
          'bucket' => 'nextcloud-000000000',
          'hostname' => 'cos.ap-beijing.myqcloud.com',
          'use_ssl' => true,
          'autocreate' => false,
        ),
      ),
      // 电话区号
      'default_phone_region' => 'CN',
    );

    解决Nextcloud无法更新应用

    config.php中添加以下内容以启用应用商店:

     'appstoreenabled' => true,
     'appstoreurl' => 'https://www.orcy.net/ncapps/v1/',

    更换为国内源(更新进度较官方略慢)。

    退出维护模式

  • 调整宝塔面板PHP8.2的APCu扩展性能

    调整宝塔面板PHP8.2的APCu扩展性能

    调整宝塔面板PHP8.2的APCu扩展性能

    image-20241116073836145

    在PHP8.2的配置文件中搜索APCu,找到如下内容:

    extension = /www/server/php/82/lib/php/extensions/no-debug-non-zts-20220829/apcu.so

    在其下方添加:

    ; APCu Extension Configuration
    ; 加载APCu扩展
    extension = /www/server/php/82/lib/php/extensions/no-debug-non-zts-20220829/apcu.so
    ; 设置共享内存大小,单位为字节,这里设置为64MB
    apc.shm_size = "64M"
    ; 设置缓存条目的默认生存时间,单位为秒,这里设置为7200秒(2小时)
    apc.ttl = 7200
    ; 设置垃圾回收的最大生存时间,单位为秒,这里设置为3600秒(1小时)
    apc.gc_ttl = 3600
    ; 禁用文件存储缓存,减少磁盘I/O
    apc.enable_file_store = 0
    ; 允许在CLI模式下使用APCu
    apc.enable_cli = 1
    ; 设置缓存压缩比率,只有当压缩后的数据大小是原始大小的20%时,数据才会被压缩
    apc.compress_rratio = 0.2
    ; 提供关于预期缓存文件和用户缓存数量的提示,以帮助APCu更好地分配内存
    apc.num_files_hint = 1000
    apc.user_entries_hint = 1000
    ; 禁用文件锁,可能会提高性能,但在某些情况下可能会导致数据不一致
    apc.file_update_protection = 0
    ; 在APCu扩展导致核心转储时,帮助调试
    ;apc.coredump_unmap = 1

    然后重启PHP服务。

  • MediaWiki使用手记

    MediaWiki使用手记

    MediaWiki使用手记

    删除历史修订记录

    php maintenance/deleteOldRevisions.php --delete

    插入视频并控制视频尺寸

    EmbedVideo

    1. 安装==EmbedVideo==插件

    下载文件并将文件放入你的extensions/文件夹中名为EmbedVideo的目录下。
    在你的LocalSettings.php文件底部添加以下代码:

    wfLoadExtension( 'EmbedVideo' );

    完成——转到你的维基的Special:Version页面,以验证扩展是否已成功安装。

    1. 在B站上传视频(当然,服务器允许也可以直接添加到服务器)
    2. 获取视频的ID,https://www.bilibili.com/video/BV1bJUVY7EBi/ 连接中的BV1bJUVY7EBi即为视频ID.
    3. 在MediaWiki的内容中插入以下代码:
    {{#ev:bilibili|BV1bJUVY7EBi|width=800|autoresize=true}}

    即可插入来自B站的对应视频,并将视频的宽度设置为800px

    1. 为确保手机端的播放效果,可以在MediaWiki:Common.css页面加入以下代码:
    @media only screen and (max-width: 600px) {
      /* 针对手机的样式 */
      .ev-video {
        width: 100%;
        height: auto;
      }
    }
    image-20241114161813121

    启用MediaWiki缓存:

    # 以下为未登陆用户启用缓存-2024年11月18日
    $wgUseFileCache = true; // default: false
    $wgFileCacheDirectory = "$IP/images/cache"; // default: "{$wgUploadDirectory}/cache" which equals to "$IP/images/cache"
    
    # 启用EMCACHED缓存-2024年11月18日
    $wgMainCacheType = CACHE_MEMCACHED;
    $wgParserCacheType = CACHE_MEMCACHED; // optional
    $wgMessageCacheType = CACHE_MEMCACHED; // optional
    $wgMemCachedServers = [ '127.0.0.1:11211' ];
    $wgSessionsInObjectCache = true; // optional -- removed in 1.33+
    $wgSessionCacheType = CACHE_MEMCACHED; // optional

  • 曲线救国,实现在MediaWiKi中插入外链视频

    曲线救国,实现在MediaWiKi中插入外链视频

    曲线救国,实现在MediaWiKi中插入外链视频

    MediaWiKi出于安全考虑是禁止插入外链媒体的,外链图片尚可通过css配置解决,但视频反复尝试都无法实现。

    在腾讯云的对象存储中,发现了一段视频播放器的代码,想到一个曲线救国的方式。也就是将视频上传到COS中,然后在服务器上建一个HTML文件,将以下播放器代码复制进去。

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
      <meta
        name="viewport"
        content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no"
      >
      <title>播放器</title>
      <link
        href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.2.1/tcplayer.min.css"
        rel="stylesheet"
      >
      <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/libs/flv.min.1.6.2.js">
      </script>
      <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.2.1/libs/hls.min.0.13.2m.js">
      </script>
      <script src="https://video-public-1259789488.cos.ap-guangzhou.myqcloud.com/lib/dash.all.min.js">
      </script>
      <script src="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.0/tcplayer.v4.5.0.min.js">
      </script>
      <style>
        html,body{
          margin: 0;
          padding: 0;
          overflow: hidden;
          height: 100%;
        }
        .tcplayer {
          margin: 0 auto;
          width: 100%;
          height: 100%;
        }
      </style>
    </head>
    <body>
    <video
      id="player-container-id"
      preload="auto" width="100%"
      height="100%"
      playsinline
      webkit-playsinline
    ></video>
    <script>
      var tcplayer = TCPlayer("player-container-id", {
        reportable: false,
      });
      tcplayer.src('https://www.guohao.asia/picgo/202411121424692.mp4')
    </script>
    </body>
    </html>

    在MediaWiKi编辑过程中,插入以下代码,以<iframe>方式插入外链视频。

    <html>
    <head>
        <title>播放器</title>
        <style>
            .responsive-iframe {
                width: 100%; /* 宽度自适应 */
                height: 100vh; /* 高度自适应 */
                border: none;
            }
        </style>
    </head>
    <body>
        <iframe class="responsive-iframe" src="https://docs.guohao.asia/video/shr/1.html" frameborder="0" allowfullscreen></iframe>
    </body>
    </html>
AI 助手