分享网址:
http://www.dooccn.com/php7/#id/b68e0f6af9ba47807a24478ffdaf2684

<?php
function randNumberArray($min, $max, $count){
    $res = [];
    foreach (range(1, $count) as $n) {
        $res[] = mt_rand($min, $max);
    }
    sort($res, SORT_NUMERIC);
    return $res;
}

/**
 * 合并秒和毫钞,并按从小到大排序
 */
function mergeTimeMillisecond($times, $milliseconds){
    sort($times, SORT_NUMERIC);
    $times = array_map(function ($v,$idx) use ($milliseconds) {
        return $v * 1000 + ($milliseconds[$idx]??0);
    }, $times, array_keys($times));
    sort($times, SORT_NUMERIC);
    $times = array_map(function ($v) {
        $_f = explode('.', strval($v / 1000));
        return [
            $_f[0],
            $_f[1]??0
        ];
    }, $times, array_keys($times));
    return $times;
}

function randMillisecond($count, $total, $extent=0.3){
    $res = [];
    $svg = $total / $count;
    for($i=1;$i<$count;$i++){
        $_rand = mt_rand(max(0, $svg-($svg*$extent)), min(999, $svg+($svg*$extent)));
        $res[] = $_rand;
    }
    $end = $total - array_sum($res);
    if ($end < 0) {
        $end = abs($end);
        foreach ($res as &$v) {
            if ($v > $end) {
                $v -=$end;
                continue;
            }
        }
        unset($v);
        $end = 0;
    }
    $res[] = $end;
    shuffle($res);
    return $res;
}

$count = 10;
$total = intval(999 * $count * .5);
$res = randMillisecond($count, $total);
$times =  randNumberArray(time() - 10, time(), 10);
$times = mergeTimeMillisecond($times, $res);
var_dump($count, $total, $res, array_sum($res), $times);

查看命令文档:

man ls

按大小排序:

ll -Sh

按时间排序:

ll -t

默认是按降序,如要按升序可+上管道:| tac

可能的情况:
1、服务器磁盘满了,查看磁盘
https://blog.csdn.net/dujianxiong/article/details/84288658

df -h

2、nginx的fastcgi_temp目录没有读写权限,查看nginx的error日志,会发现:

2010/03/13 02:52:19 [crit] 3396#0: *10 open() 
"/usr/local/nginx/fastcgi_temp/2/00/0000000002" failed (13: Permission denied)

处理方法,给目录增加权限或者修改所有者为nginx worker的运行用户

chown www:www /usr/local/nginx/fastcgi_temp -R

分析 fastcgi_temp 错误以及 Nginx 的 Buffer 机制: https://blog.csdn.net/crx05/article/details/70210323

测试工具:xshell

安装:

yum install lrzsz

使用:

sz命令发送文件到本地:
# sz filename
rz命令本地上传文件到服务器:
# rz
执行该命令后,在弹出框中选择要上传的文件即可。
说明:打开SecureCRT软件 -> Options -> session options -> X/Y/Zmodem 下可以设置上传和下载的目录。

分别执行下面的两个代码,看看结果是什么:http://www.dooccn.com/php7/#id/21a18721ff4c0d013dcef162d57bbb15

<?php
    function &test(){
    static $b = 0;  //声明一个静态变量
    $b = $b+1;
    echo $b;
    return $b;
    }
   $a = test();   //输出 $b 的值为:1
   $a = 5;
   $a = test();     //输出 $b 的值为:2
   
   $a = &test();  //输出 $b 的值为:3  **注意**
   $a = 5;           //$b的值变为了5
   $a = test();    //输出 $b 的值为:6  **注意**
?>
<?php
    function test(){
    static $b = 0;  //声明一个静态变量
    $b = $b+1;
    echo $b;
    return $b;
    }
   $a = test();   //输出 $b 的值为:1
   $a = 5;
   $a = test();     //输出 $b 的值为:2
   
   $a = &test();  //输出 $b 的值为:3  **注意**
   $a = 5;           //$b的值变为了5
   $a = test();    //输出 $b 的值为:6  **注意**
?>