技术圈开发者交流群:

在 CentOS 7.9 中使用 Yum 快速安装 PHP 8.3

目前,CentOS 7.9 已经算是很古老的系统了,但仍然还在很多公司中使用。安装 PHP 有编译安装,也可以使用 Yum 安装,前者较为复杂,耗时耗力,后者就很简单而且很快。但是官方的 Yum 中自带的 PHP 版本也只有很古老的 PHP 5.4 了,要想安装比较新的 PHP 8 就需要使用第三方提供的 Yum 源了。

Remi's RPM repository(简称 Remi 仓库)是由法国开发者 Remi Collet 维护的一个针对 Red Hat Enterprise Linux(RHEL)及其衍生发行版(如 CentOS、Oracle Linux 等)的第三方软件仓库。

所以,这里我就使用 Remi 源安 PHP 8.3 做一下介绍。

PHP 2023年12月09日 393

在 CentOS 中更新第三方 Yum 源

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

现在,在 CentOS 中使用yum安装软件时,报上面的错误,这是由于 CentOS 官方已经对 CentOS 7 的 yum 源停止维护了。

如果还在继续使用 CentOS 7 系统的,则需要更换第三方 yum 源,很多大厂都提供有镜像源,不仅如此国内的源速度和稳定性都要好一些,这里以阿里云的 Yum 源为例,介绍如何更换 CentOS 7 的 Yum 源。

Linux 2023年11月07日 550

在 CentOS 系统中配置静态 IP 和 DHCP 等网络连接信息

新装的 CentOS 系统没有网络,那么我们需要配置网络信息,并不像在 Windows 中打开控制面板-网络连接中可以图形化的配置网络信息。在 Linux 中都需要在命令行中进行,查看网卡接口信息、编辑网络连接信息、再重启网卡等一系列命令行操作,不好记容易忘,这里简单做个笔记,方便以后用到的时候查看备用。

在 Linux 中查看网络接口信息,一般有ifconfigip addr等,但是最小化安装的系统通常是没有ifconfig命令的。

ip addr

使用这个命令,就可以查看网络网络接口信息了,通常有lo eth0 eth1 等,lo 是本地回环接口,它的 ip 地址一般是127.0.0.1eth0 就是第一个网络接口信息,以此类推。

Linux 2023年10月22日 381

Casbin 中 Model 的语法详解

Casbin 是一个高效强大的开源访问控制框架,它支持 ACL、RBAC、ABAC 等多种模型。

Model,即模型,是 Casbin 的一个重要组成部分,模型的定义简单而复杂,且充满学问Model 的作用,是对权限模型的定义,例如:aclrbacabac 等权限模型。

PHP 2023年09月20日 3729

利用 PHP-Casbin 中的优先级模型来做权限控制

优先级模型,所谓优先级,是指按一定的顺序加载策略。

优先级高的策略先加载,先加载的策略具有较高的优先级。

PHP-Casbin 目前支持三种模式:隐式优先顺序加载策略、显示优先顺序加载策略、基于角色和用户的层级关系加载策略。

PHP 2023年08月15日 6748

PHP-Casbin 在分布式服务中利用 Watcher 做策略同步

分布式服务,是将多个具有不同或相同功能的服务分散在不同的服务器上,对外提供服务。

那么在分布式服务中,使用 PHP-Casbin 作为权限控制时,不同服务器上的服务的策略要保证是同步的。这里我们主要探讨常驻内存的 PHP 服务,在常驻内存的服务中,PHP-Casbin 一般是单例模式,所有的策略都会加载到内存,性能出色。

PHP-FPM 下每次都重新初始化 Enforcer 并重新加载策略,不需要做额外的策略同步。

Casbin 中提供了 Watcher ,用于多实例间的消息策略同步。

PHP 2023年07月11日 8719

使用 PHP-Casbin 在 SaaS 应用中做多租户权限系统架构设计

多租户(multi-tenancy)是一种软件架构技术,是实现在多租户的环境下共用相同的系统或程序组件,并且保证各用户间的数据隔离,也可称作域租户

PHP-Casbin 不仅提供了全局的RBAC的权限模型,而且还支持特定域的权限模型。特定租户/域的角色意味着当用户在不同的租户/域中时,用户可以拥有不同的角色,亦拥有不同的权限策略。在大型项目中,特别是在像SaaS PaaS这种云服务中,不同的租户需要拥有独立的权限控制,这就非常有用。

这里我以一个多商户的电商平台为例,电商平台的商户就是租户,每个商户有自己的管理人员,可以分配不同的角色,定义自己的权限。这些商户间的数据在逻辑上是完全隔离的,但他们共享这个电商平台的其他资源。

多商户电商平台

商户1,用户1,属于管理员角色
      商品1

商户2,用户2,属于管理员角色
      商品2
PHP 2023年06月03日 1256

Redis 列表(List) 相关命令

列表(List),就是存放一组数据的列表,就相当于我们编程语言中所使用的数组列表顺序就是插入的顺序,可以从列表的头部插入元素,也可以从尾部插入元素。

Redis 中一个列表最多包含 2 的 32 次方 - 1 (4294967295)个元素。

LPUSH 命令是向列表中插入一个或多个元素,是列表的头部插入。列表如果不存在则会自动创建。

向列表中插入单个元素:

工具 2023年04月01日 755

主流编程语言的包管理工具

术业有专攻,闻道有先后。班门弄斧,请指教。

编程语言五花八门,在历史的洪流中,不断有新的编程语言、新的工具诞生。有的老牌语言依然是中流砥柱,有的新生代语言突飞猛进,后生可畏。

工具 2023年03月09日 1174
鄂ICP备19028750号-1 @copyright 2024 tech1024.com