分类: PHP

51 篇文章

Ubuntu多版本PHP
add-apt-repository ppa:ondrej/php # 安装PHP apt-get install php8.1-fpm apt-get install php8.2-fpm apt-get install php8.3-fpm # composer php8.2 /usr/loca…
PHP8.3新特性
类型化类常量 8.2 <?php interface I { // We may naively assume that the PHP constant is always a string. const PHP = 'PHP 8.2'; } class Foo impl…
laravel中的两种锁
/** * Lock the selected rows in the table for updating. * 悲观锁 锁住后读改阻塞 * @return $this */ public function lockForUpdate() { return $this->lock(true)…
PHP8.2新特性
trait 常量 在PHP 8.2之前,不允许将常量添加到trait中。这是一种语言差异,因为trait可以访问使用它们的类的常量。 但是你不能严格地定义一个常量存在于一个类中,次问题已经在PHP 8.2修复。 <?php trait testTrait { private const NAM…
PHP8.1新特性
枚举(Enumerations) PHP 8.1使用enum枚举类型来取代一组常量,并获得开箱即用的验证。 <?php enum UserRole: string { case ADMIN = "1"; case GUEST = "2"; case WR…
PHP垃圾回收-初识
在平时php-fpm的时候,可能很少人注意php的变量回收,但是到swoole常驻内存开发后,就不得不重视这个了,因为在常驻内存下,如果不了解变量回收机制,可能就会出现内存泄露的问题,本文将一步步带你了解php的垃圾回收机制,让你写出的代码不再内存泄漏。 写时复制 首先,php的变量复制用的是写时复…
Semaphore&Shared Memory函数
Semaphore 函数 ftok 将路径名和项目标识符转换为System V IPC KEY。 ftok(string $filename, string $project_id): int #project_id 项目标识符。这必须是一个字符串。 消息队列 常量 #MSG_IPC_NOWAIT …
PHP实现守护进程
什么是守护进程? 守护进程(Daemon Process),也就是通常说的 Daemon 进程(精灵进程),是 Linux 中的后台服务进程。它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。 守护进程是个特殊的孤儿进程,这种进程脱离终端,为什么要脱离终端…
PCNTL 函数整理
pcntl_alarm(int $seconds): int 创建一个计时器,在指定的秒数后向进程发送一个SIGALRM信号。每次对 pcntl_alarm()的调用都会取消之前设置的alarm信号。 <?php pcntl_signal(SIGALRM, function ($sigNo){…
pcntl_fork 多进程创建流程
情况一 <?php $count = 10; for ($i=0; $i < 2; $i++){ $pid = pcntl_fork(); if($pid == 0){ $count += 1; }else{ $count *= 10; } } fprintf(STDOUT, "…