山河博客

PHP实现ping api

大家好我是山河,今天给大家分享点技术,很多小伙伴问我怎么写php的ping api,我跟他们说用exec或者systerm函数来实现,但是他们说主机商不允许使用这两个函数,让我想想办法。

既然不能直接使用dos命令来搞ping,那我们只能模拟ping了。

话不多说,上效果图

嘿嘿,这样效果也差不多。

我们运用php的fsockopen函数来模拟 HTTP连接 实现ping的效果,但实际与ping差距是很大的,因为ping是ICMP协议,而我们是使用tcp或者udp协议。

话不多说,上代码,本代码的模拟ping是使用tcp协议 (HTTP/1.1 和 HTTP/2 都是基于 TCP 传输协议),

HTTP/3 是基于 UDP 传输协议

<?php
/*
    此模拟ping仅仅只是 使用 HTTP协议 模拟ping。不是真正的ping,与真正的 ping 误差很大。
*/
    // ping次数
    $num = 5;
    // 执行时间
    function times(){
        list($usec,$sec) = explode(" ",microtime());
        return ((float)$usec + (float)$sec); 
    }
    function demo($host,$port=80,$i) {
        if($i == 0) {
            echo 'Ping 域名 '.$host.'IP: ['.gethostbyname($host).'] 端口:'.$port.'<br />';
        } 
            echo ping($host,$port);
    }
    function ping($host,$port=80) {
        $starttime= times();
        $ip = gethostbyname($host);
        $fp = @fsockopen($host,$port);
        if(!$fp) {
            return 'ping超时!';
        } else {
            $get = "GET / HTTP/1.1\r\nHost:".$host."\r\nConnect:".$port."Close\r\n";
            fputs($fp,$get);
            fclose($fp);
            $nowtime = times();
            $time = $nowtime - $starttime;
            $time = ceil($time * 1000);
            return 'Ping from '.$ip.':'.$port.' time = '.$time.'ms<br />';
        }
    }
    for($i = 0;$i < $num;$i++){
        echo demo('blog.shanhe.info',80,$i);
        //每次运行中间间隔1S
        sleep(1);
        //刷新输出缓存
        ob_flush();
        flush();
    }

好了,我是山河,本文到此结束

域名绕过备案

域名绕过备案

大家好我是山河,今天给大家分享一个域名绕备案方法,很实用。

大家都知道,备案是很麻烦的一件事,山河最近购买了几个天翼云服务器,但是我在腾讯云备案的域名不能在天翼云上直接用,还需要提交给管局审核一遍才能使用,备案时间又要花半个多月时间,那么这服务器不是白白浪费了十几天。

所以山河想了一个办法来绕过备案,先用着,等备案时间过了再换成正常的。

话不多说,上教程。

环境要求:

1. 一台服务器(宝塔面板/其他面板也差不多)

2. 一个域名(备案不备案都可以)

先打开服务器的宝塔面板

本次演示服务器是天翼云服务器

首先先进到天翼云服务器管理,把防火墙安全组开了

先点击

域名绕过备案

再点击更改安全组

(点击查看图片)

域名绕过备案

点击新建安全组

域名绕过备案

添加规则

域名绕过备案

放通81端口

然后解析域名

域名绕过备案

这里域名不用加端口!

然后打开服务器的宝塔面板

添加域名,注意,这里需要加上域名:81

域名绕过备案

这样就ok了,然后我们试着访问一下。

域名绕过备案

嘿嘿,成功了!

如果想要隐藏端口呢,可以使用ssl,走加密就可以直接访问域名不用加端口了。

如果觉得实用的话呢可以推荐给其他待备案中的小伙伴。

我是山河。原创文章!

山河博客Code-2

vps性能测试之yabs.sh脚本 

大家好我是山河,今天我来跟大家讲解一些服务器性能的测试的方法,我们买到服务器之后,安装好centos系统之后,然后再安装 curl

此次测试山河拿的是HK 服务器来测试的

安装 必要的 curl

代码

yyum install curl -y

等待安装完之后,再安装yabs.sh脚本

代码

curl -sL yabs.sh | bash

等待安装

安装图

效果图

好了,本文到此结束,剩下的安装结果就不发了,实测有效。

本文山河原创文章。

山河博客Code-2

vps性能测试之Zbench脚本 

大家好我是山河,今天我来跟大家讲解一些服务器性能的测试的方法,我们买到服务器之后,安装好centos系统之后,然后再安装 wget 。

此次测试山河拿的是HK 服务器来测试的

代码

yum install wget -y

等待安装完之后,再安装Zbench脚本

代码

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/ZBench/master/ZBench-CN.sh && bash ZBench-CN.sh

然后等待安装,安装完之后会出现

本文到此结束,文章为山河原创文章。

山河博客Code-2

vps性能测试之superbench脚本

大家好我是山河,今天我来跟大家讲解一些服务器性能的测试的方法,我们买到服务器之后,安装好centos系统之后,然后再安装 wget 。

此次测试山河拿的是HK 服务器来测试的

代码

yum install wget -y

等待安装完之后,再安装superbenchh脚本

代码

wget -qO- https://down.vpsaff.net/linux/speedtest/superbench.sh | sudo bash

等待安装完毕即可。

安装图

此次安装superbenchh脚本测试失败。

还是换Bench.sh脚本吧。

山河博客Code-2

vps性能测试之Bench.sh脚本

大家好我是山河,今天我来跟大家讲解一些服务器性能的测试的方法,我们买到服务器之后,安装好centos系统之后,然后再安装 wget 。

此次测试山河拿的是HK 服务器来测试的

代码

yum install wget -y

等待安装完之后,再安装Bench.sh脚本

代码

wget -qO- bench.sh | bash

然后回车执行

然后就开始检测了

CPU model 是处理器型号参数

total mem是内存

total Disk 是硬盘

带宽测试

好了,本文到此结束,我是山河,原创文章

https://blog.shanhe.info/

linux系统的vps怎么用ssh连接

大家好我是山河,今天我们给大家来一个给小白的教程,linux系统的vps 连接ssh方法,这个方法是电脑的,下一篇我写一个手机的。

好了,直接进入正题

首先先下载一个免费老牌软件 PuTTy

blog.shanhe.info

点击打开

blog.shanhe.info

输入ip 之后点击open

blog.shanhe.info

然后再看图

https://blog.shanhe.info/

点击之后,输入账号名 root (linux vps 默认账号就是root)

https://blog.shanhe.info/

然后输入密码 (如果复制粘贴,请点击鼠标右键在cmd里面,然后按回车)

成功如下图

https://blog.shanhe.info/

好了,本文到此结束,我是山河,原创文章。

域名不备案使用国内服务器方法

大家好我是山河,最近腾讯服务器打折力度很大啊,不少人都淘了好几台屯着,当然山河也没闲着,也搞了两台,但是有个问题,主域名用上了,给其他服务器用不合适,可是现在备案也要花10-20天的,中间这段时间服务器岂不是闲着了,怎么解决呢?

当然就是绕备案了,绕备案目前有两种方法,且听山河细细道来。

第一种:

(新版图片教程请点击此链接):域名绕过备案 – 山河技术分享 (shanhe.info)

裸81/82端口,什么叫裸81/82端口呢?我们网站啊是走80端口的,为HTTP(HyperText Transport Protocol)协议开发的,即为万维网(World Wide Web)协议,我们HTTP地址,就是所谓的网址,一般访问是xx.com:80的,但是我们只输入网址就行了,因为那些浏览器啊会自动给我们网址加上80端口,而国内服务器80端口是需要备案域名才能访问的,如果我们没备案就会被拦截,访问不了,所以我们可以裸81或者82端口。

81 82端口呢,是重定向端口,我们只需要服务器绑定域名的时候绑定 域名:81 或者 域名:82 就可以了。

域名解析IP的时候不需要加上端口,服务器绑定域名的时候则需要。

然后我们访问网站的时候需要 域名:81 / 域名:82 才行,这样就能实现绕端口了

当然,如果你们不想输入 81 82端口才能访问,我们也可以隐藏。

这就需要第二种方法了

第二种方法:

借助ssl来隐藏端口

我们搞完第一种了呢之后,申请一个ssl证书,(ssl证书有很多地方可以申请免费的,腾讯,宝塔等都可以)

然后呢,然后我就懒得讲了?

第二种方法请百度,打字太累。