原创

js让页面某个元素全屏(比如视频)的方法

<video src="a.mp4" muted autoplay></video>

    <a onclick="openFullscreen();">full</a>
    <script>

var elem = document.getElementsByTagName("video")[0];

function openFullscreen() {
  if (elem.requestFullscreen) {
    elem.requestFullscreen().then(() => {
        //after fullscreen do someting

    }).catch((err) => {
        //alert(`Error attempting to enable fullscreen mode: ${err.message} (${err.name})`);
      });
  } else if (elem.mozRequestFullScreen) 

Nginx修改默认Content-Type值,解决服务器文件没有扩展名时变为下载的问题

1、Nginx 安装之后 default_type的值默认配置为 application/octet-stream,而且目前已经配置很多域名,贸然的去修改这样的全局配置,可能应发不可用的问题

2、html结尾的文件,放到网站根目录下默认会被识别响应为 text/html.

3、但是今天反馈的文件是没有后缀的,所以默认就成了 application/octet-stream, 浏览器请求会直接进行下载,而不是展示文件内容

4、针对该文件进行单独的配置,如下

server {
    include local_ssl_port.conf;
    include ssl/ssl.conf;
    server_name    xxx.somedomain.com;
    root    /data/project/blog;
    include         expires.conf;

    location / {
        # 这里单独针对性的配置 default_type 为要求的格式
        default_type text/html;
    }
}

 

5、再次浏览器测试,展示为文件内容

    

使用PHP做 http pxory 缓存&代理, 使用redis做缓存,支持毫秒过期,拥有超高性能

使用PHP做 http pxory 缓存&代理, 使用 redis 做缓存,支持毫秒过期,拥有超高性能

<?php

 //PHP http pxory 缓存&代理, 使用redis做缓存,支持毫秒过期,拥有超高性能

 $url=@$_GET['url'];
if (empty($_GET['url'])) {
     echo 'url is empty ';
     exit;
}

 $path=parse_url($url, PHP_URL_PATH);
 $key=$path;

 $redis = new Redis();
 $redis->pconnect('127.0.0.1', 6379);

if ($content=$redis->get($key)) {
     echo $content;
     exit;
}

 
                        

nginx启用proxy cache 代理缓存

nginx启用proxy cache 代理缓存

nginx.conf中的
http {
下面加

proxy_cache_path /data/nginxcache levels=1:2 keys_zone=my_cache:500m max_size=10g inactive=30d use_temp_path=off;

某个站点的配置文件中增加以下配置:

location / {

proxy_cache my_cache;
proxy_cache_revalidate on;
#proxy_cache_valid 200 206 304 301 302 30d;
proxy_cache_valid any 30d;
proxy_ignore_headers "Set-Cookie";
proxy_ignore_headers "Expires";
#proxy_ignore_headers "Age";
proxy_cache_key …

                

ubuntu(linux)系统死机(无响应)后,如何强制重启.

ubuntu(linux)系统死机后,如何强制重启:

按 Alt+SysRq+B可强制重启.

有的电脑需要按Fn键,即 Fn+Alt+SysRq+B.

注:sysrq键一般和prtsc(print screen)键是一个.

如果你按Fn+Alt+SysRq+B不起作用,请按以下做:

先按Fn+Alt+SysRq,

保持按住Alt,再松开SysRq+Fn,再按B键.

即可.

为了更安全的做法是

按住Fn+Alt+SysRq,再依次按下:REISUB键.(同步 磁盘,防止数据丢失及损坏)

参考 :

https://www.cnblogs.com/reid21/p/9507366.html?ivk_sa=1024320u

https://www.howtogeek.com/119127/use-the-magic-sysrq-key-on-linux-to-fix-frozen-x-servers-cleanly-reboot-and-run-other-low-level-commands/

https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html

https://unix.stackexchange.com/questions/569728/sysrqb-boot-not-working-but-o-turning-off-is

 

        

网页出现400 Bad Request Request Header Or Cookie Too Large错误的解决方法

在开发项目过程中,突然遇到400 Bad Request Request Header Or Cookie Too Large的报错,我也是第一次出现这样的错误,感觉还是挺新奇的。

分析下出现错误的原因:

由request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起的。

解决办法:

 

采用nginx服务器的话修改方法:

/usr/local/nginx/conf

在这个路径下面,修改nginx.conf

http
{

include  mime.types;
default_type  application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 16k;  //这里默认是4K,改大一点就好了
large_client_header_buffers 4 32k;  //改大一点就好了 } 实例配置: 
http
{

**********

client_header_buffer_size 
    

PHP 8.2 新特性

PHP 8.2 将于2022 年 12 月 8 日发布。在本文中,我们将逐一介绍所有新特性、性能改进、更改和弃用。

只读类RFC

PHP 8.1 中引入了只读属性。此 RFC 构建在它们之上,并添加了语法糖以使所有类属性同时变为只读。代替这样写:

class Post
{
    public function __construct(
        public readonly string $title, 
        public readonly Author $author,
        public readonly string $body
            

WordPress从4.9升级到6.0,使用的PHP版本从7.0升级到8.0全过程及问题解决.

WordPress从4.9升级到6.0,使用的PHP版本从7.0升级到8.0全过程及问题解决.

步骤:

一.在wordpress后台,更新程序,从wordpress4.9在线升级到6.0.

更新过程会升级wordpress程序与数据库. 一切自动完成.

二.更新wordpress插件

在插件管理处,更新可升级的插件.

三.wordpress 升级到6.0完成.

四.遇到问题.在wordpress后台,F12console中会报 QTags is not defined,

原来错误的原因是由于快速标签脚本的优先加载quicktags.min.js. 在 WordPress 6 及更高版本中,脚本的加载时间比以前的版本稍晚。在以前的 WordPress 版本中,脚本在页面上较早加载,因此在调用QTags.addButton添加按钮时,QTags定义并添加按钮(如预期的那样)。仅供参考:脚本位于:

/wp-includes/js/quicktags.min.js

在 WordPress 版本 6.0 中,Prismatic 调用…

        

linux下挂载硬盘,解决阿里云挂载后重启消失的问题

完整的阿里云挂载数据盘方法如下:

1、入手阿里云后查看有几块硬盘:(只显示概况,不显示分区情况)

fdisk -l|grep Disk

2、查看硬盘分区

fdisk -l

如果有提示:disk /dev/vdb doesn t contain a valid partition table说明数据盘还没有分区和挂载

3、分区(此步骤一般不用)

切换到root账户,进入根目录;

命令 "fdisk /dev/vdb";然后按提示进行分区

根据提示,依次输入“n”,“p”“1”,两次回车,“wq”,分区就开始了,很快就会完成。

命令"mkfs.ext3 /dev/vdb" 格式化分区,ext3是格式,你可以根据自己情况。

4、挂载

"mkdir /www"建立挂载目录
命令"mount /dev/vdb /www "挂载分区xvdb1 到data0 目录。

(注意要先挂载后放数据,如果先放数据再挂载,那么数据会丢失。不过不用担心,如果遇到这种情况,那么取消挂载后数据又会回来)

5、给/etc/fstab文件写入挂载硬盘的信息,不然重启系统后挂载就没了,那么每次重启后就要手动挂载了。(阿里云没介绍这一步),方法如下:

echo '/dev/vdb   /www