技术饭 PHP:PCNTL进程控制功能的基础使用

PHP:PCNTL进程控制功能的基础使用,多进程的作用主要用于日志分析、队列处理、批量处理等,如要处理10w级别的数据,一条数据需要执行1秒,那么一个进程不间断需要执行1天多的时间,但是如果分成20个进程(进程过多会导出cpu爆满),每个进程分5000条只需执行1.3小时左右就完成任务了。

阅读全文 » 42天前
2024年03月14日

技术饭 thinkphp5.1日志文件夹及文件权限问题

thinkphp5.1日志文件夹及文件权限问题,由于www用户和root用户(比如cmd的cli进程日志)都有可能对log文件夹或文件进行创建和读写。如果是先由www用户创建的log文件夹活文件,则不会出任何问题。但是如果是先由root用户创建的文件,然后再由www用户角色去读写就会出现异常报错。因为一般默认创建的log文件的权限是 -rw-r--r-,也就是www没有权限去写入root用户创建的log文件。

阅读全文 » 694天前
2022年06月01日

技术饭 /var/mail/root 定时任务crontab生成日志文件太大的处理方案,You have new mail in /var/spool/mail/root

之前讲过聊过 file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足这个问题,解决方法是删除 /var/mail/ 下的root日志日志文件,可是过不了多久又满了,所以只能从源头去禁止生成定时任务生成的日志才能彻底的解决问题。有时候处理的时候还会出现:You have new mail in /var/spool/mail/root的报错。

阅读全文 » 1294天前
2020年10月09日

技术饭 file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space,磁盘空间不足

访问网站系统报错:file_put_contents(): Only 0 of 23634 bytes written, possibly out of free disk space。意思就是磁盘空间不足,df -lh 查了一下,确实是发现磁盘满了,想想应该是日志文件太大了,所以删除项目的runtime下的文件释放空间就可以了。

阅读全文 » 1314天前
2020年09月19日

技术饭 AikehouA 5.2.0版本,最新版安装出现 HTTP ERROR 500 错误解决方案

今天在使用最新版AikehouA 5.2.0版本时,出现 HTTP ERROR 500 错误,调试了许久,查了nginx的错误日志等,断调试代码,一直没有找到确切的原因,后来在本地php7.0环境、自己服务器php7.0环境测试,安装没有任何问题,故此判断是因为最新版本composer加载了必须支持php7.0的插件,php5.6.x的环境不支持php7.0的一些方法,所以这里就需要删除一些composer包,更新vendor目录即可解决问题。

阅读全文 » 1511天前
2020年03月06日

技术饭 MySQL崩溃与致命错误:无法为缓冲池分配内存

我们有几个网站在运行,拥有1GB的实例。服务器运完美无暇运行5个月,然后MySQL开始崩溃,每隔几天,mysql错误日志中出现以下错误。

阅读全文 » 1653天前
2019年10月16日

技术饭 MySQL的InnoDB引擎数据库经常出现自动关闭现象,Cannot allocate memory for the buffer pool

MySQL的InnoDB引擎数据库经常出现自动关闭现象,Cannot allocate memory for the buffer pool,最近网站经常时不时地出现访问不了的状况,一直没在意,今天又一down机了,索性就查看了下MySQL的日志。

阅读全文 » 1653天前
2019年10月16日

技术饭 MySQL 8.0主从(Master-Slave)配置

MySQL 主从复制的方式有多种,本文主要演示基于基于日志(binlog)的主从复制方式。MySQL 主从复制(也称 A/B 复制) 的原理:Master将数据改变记录到二进制日志(binary log)中,也就是配置文件log-bin指定的文件, 这些记录叫做二进制日志事件(binary log events);Slave 通过 I/O 线程读取 Master 中的 binary log events 并写入到它的中继日志(relay log);Slave 重做中继日志中的事件, 把中继日志中的事件信息一条一条的在本地执行一次,完成数据在本地的存储, 从而实现将改变反映到它自己的数据(数据重放)。

阅读全文 » 2029天前
2018年10月05日

技术饭 Centos下MySQL出现Unknown/unsupported storage engine: InnoDB的解决方案

Centos下MySQL出现Unknown/unsupported storage engine: InnoDB的解决方案,今天同事公司服务器上的mysql启动不了了,弄了一早上头大,昨天还是可以正常运行的,今天怎么突然就奔了呢,在shell里登陆mysql提示不存在sock,也就是msyql没有启动,但却可以使用stop命令,后续查看err日志中发现了一些问题。

阅读全文 » 2415天前
2017年09月14日

技术饭 Redis的PHP操作手册

Redis的PHP操作手册,REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

阅读全文 » 2540天前
2017年05月12日