1421

MacOS使用Brew安装PHP和PHP扩展的安装

安装PHP

直接使用brew命令安装即可

brew install php

安装指定版本

brew install php@7.2

安装PHP扩展

MacOS下使用pecl安装PHP扩展

查看pecl

pecl version
823

PHP CLI启动多进程,并实现进程间通信

方式一:msg_get_queue实现

$key = ftok(__FILE__, 'a');
$queue = msg_get_queue($key);
$pidList = [];
$socketList = [];

for ($i = 1; $i <= 2; $i++) {
    $taskPid = pcntl_fork();
    if ($taskPid == -1) {
        die("[父进程]child{$i}创建失败");
    } elseif ($taskPid) {
        $pidList[$i] = $taskPid;
        echo "[父进程]child{$i}创建成功,子进程ID:{$taskPid}". PHP_EOL;
    } else {
        //子进程
        while (true) {
            msg_receive($queue, 1, $type, 1024, $msg);
            if ($msg) {
                echo "[子进程@child{$i}]收到消息:{$msg}";
            }
            usleep(50);
        }
    }
}

//父进程循环
while (true) {
    msg_send($queue, 1, ['from'=>'father','text'=>"Hi child,I'm father."]);
    sleep(3);
}
2550

Centos8 安装 Nginx+PHP+MySQL+Redis

前言

本文针对之前Centos7的安装方法,在Centos8下安装有些变化,故重新整理一遍新的安装方法。本文实际操作系统为:Centos8.5

安装Nginx

centos8下的nginx版本比较新,直接安装即可

yum install -y nginx

安装PHP

通常安装remi源时会自动安装依赖epel源,也可手动安装

yum install https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-8.noarch.rpm
23000

用PHP实现局域网电脑开机

开机原理

使用udp协议,向目标机器发送开机数据包,完成开机

数据包结构

数据包:6个FF加上16次MAC地址

比如MAC地址是 11 22 33 44 55 66 ,那么数据包如下

FF FF FF FF FF FF 11 22 33 44 55 66 11 22 33 44 55 66 11 22 33 44 55 66........

其中MAC地址 11 22 33 44 55 66 重复16次

发送数据

拼好数据包后使用udp广播出去就可以了。简单的实现如下:

25042

Centos7 Yum 安装PHP到指定目录,PHP多版本共存

背景

有时候需要在服务器上安装多个版本PHP,然而编译安装又不能使用yum安装依赖和维护扩展,故用此方法安装配置多个PHP环境。服务器上的第一个PHP环境可以直接使用yum安装,然后第二、第三个甚至更多,则需要使用如下的命令安装,并且配置

安装命令

yum install -c /etc/yum.conf --installroot=/usr/local/php/ --releasever=/ --enablerepo=remi-php71 php php-opcache php-mbstring php-mcrypt php-fpm php-cli php-xml php-redis php-mysqlnd php-pdo php-phalcon php-common php-json