May092024
一个树数组,使用php递归清除儿子数组为空的元素
一个树数组,有id,parent_id字段,parent_id字段表示父子关系,使用php写一个函数清除儿子数组为空的元素。
要清除树形数组中儿子数组为空的元素,我们可以使用递归的方法来遍历整个数组,并检查每个元素的子数组是否为空。如果为空,我们就从数组中移除它。以下是一个使用PHP编写的示例函数:
function removeEmptyChildren( & $tree, $childrenName = 'children') {
foreach($...阅读全文
抢沙发
May092024
Linux Shell脚本实现根据进程名杀死进程
Linux shell脚本实现根据进程名杀死进程的方法,免去每次都要先ps -ef|grep列出所有的进程,然后kill进程id的麻烦步骤。
提醒:以下仅供参考,实际上linux已经有相关的命令了,即 killall,下面的内容是还不知道这个命令的时候鼓捣的。
Shell脚本源码如下:
#!/bin/sh
#根据进程名杀死进程
if [ $# -lt 1 ]
then
echo "缺少参数:procedure_name"
exit 1
fi
PROCESS=`ps -ef|grep $...阅读全文
May082024
PHP将base64编码字符串转换成图片并保存到本地
我们在开发过程中,很多通过APP或者web前端会通过接口给我们以base64编码字符串的方式上传图片,这个时候我们就需要将这些base64编码字符串转化成图片,并且保存到本地,我们来讲解一下。
//调用方法:
public function uploads(){
$content = $this->getContent();
$this->base64_image_content($content,'./uploads');
}
base64编码字符串转换成图片并保存到本地:
public f...阅读全文
May062024
linux(centos)安装php zip扩展
linux(centos)下安装 php zip 扩展,步骤如下:
下载并安装
#下载 zip 扩展
wget https://pecl.php.net/get/zip-1.22.3.tgz
#解压
tar -zxvf zip-1.22.3
#编译并安装
/usr/local/php8.2.14/bin/phpize
./configure --with-php-config=/usr/local/php8.2.14/bin/php-config
make
make install
安装完后会出现:
Installing shared extensions: /usr/local/php8.2.14/lib/php/extensi...阅读全文
May062024
May062024
linux(centos)安装PHP8.1.5时报错error Package requirements (libzip >= 0.11 libzip != 1.3.1 libzip != 1.7.0)
linux (centos)安装 php8.1.5,编译参数的时候出现的问题。
翻译过来的意思就是 libzip的版本必须大于0.11 且 不能等于1.3.1或者1.7.0
官网下载地址:https://libzip.org/download/libzip-1.3.2.tar.gz
#卸载自身的libzip
yum remove libzip
#下载并安装
wget https://libzip.org/download/libzip-1.3.2.tar.gz
tar xvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure && m...阅读全文
May052024
在Linux服务器上安装和配置Git
Git是一个分布式版本控制系统,广泛用于团队软件开发中。在Linux服务器上安装和配置Git可以让团队成员更好地进行代码管理和版本控制。本文将介绍如何在Linux服务器上安装和配置Git。
步骤一:安装Git
打开SSH连接到你的Linux服务器,使用root或者具有相应权限的用户登录。
执行以下命令安装Git:
sudo apt update #更新软件包列表
sudo apt install git #安装Git
安装完成后,可...阅读全文
May042024
yii2 使用场景验证(临时验证)请求参数的使用(model 校验规则)
场景的意义
模型可能在多个场景下使用,例如 User 模块可能会在收集用户登录输入, 也可能会在用户注册时使用。在不同的场景下, 模型可能会使用不同的业务规则和逻辑, 例如 email 属性在注册时强制要求有,但在登陆时不需要。(目前我的理解是场景主要用来做参数验证的)
使用示例(本示例以用户模型在注册,登录两个场景下的使用方法分析):
// 场景作为属性来设置
$model = new User...阅读全文
May042024
Apr262024
如何在Linux上安装和配置MongoDB集群
MongoDB是一款流行的开源面向文档的NoSQL数据库,在大数据和云计算领域广泛应用。它提供高性能、可扩展性和灵活性,并且在集群环境中能够提供高可用性和可靠性。本文将介绍如何在Linux环境下安装和配置MongoDB集群。
步骤1:安装MongoDB
打开终端,并使用以下命令添加MongoDB的官方存储库:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
$ echo "deb...阅读全文