webman 报错解决手册
简介
webman框架时当下最热门的PHP框架之一,但是往往我们在使用过程中难免会遇到各种各样的问题,特此在本文章内给大家给到解决方案以供参考。
(一) 安装异常
1.1 安装出现函数无法使用
1.1.1 解决方案
取消禁用函数: putenv 、exec、system 、shell_exec 、pcntl_fork、pcntl_signal、pcntl_alarm、pcntl_signal_dispatch、shell_wait
1.2 Address already in use
出错现象: stream_socket_server(): Unable to connect to tcp://0.0.0.0:8787 (Address already in use)
1.2.1 解决方案
- 检查是否端口占用:
netstat -tln | grep 8787
tcp 0 0 0.0.0.0:8787 0.0.0.0:* LISTEN 23621/WorkerMan: wo
- 检查端口占用的进程:
lsof -i:8787
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
php 23621 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23622 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23623 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23624 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23625 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23626 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
php 23627 root 4u IPv4 810227978 0t0 TCP *:msgsrvr (LISTEN)
- 删除进程:
kill -9 PID
1.3 Linux端口被耗光
出错现象: dial tcp xx.xx.xx.xx:10101: connect: Cannot assign requested address
原因: 这种情况一般发生在高并发服务器上或者压测时会出现。
每个socket链接会占用本地一个端口,短链接使用毕后会立刻关闭,这时链接处于TIME_WAIT状态,本地的端口仍然被占用着。本地端口最多为6W个,如果在短时间内建立的大量的TCP短链接,本地端口会被TIME_WAIT迅速耗光,导致Cannot assign requested address
1.3.1 解决方案1
- 开启端口快速回收
# 1、编辑系统配置文件
vi /etc/sysctl.conf
# 2、添加开启端口快速回收配置
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
# 3、执行配置
sysctl -p
1.3.2 解决方案2
- 编辑系统配置文件:
vi /etc/sysctl.conf
# 修改linux端口分配范围
net.ipv4.ip_local_port_range = 10000 65000
sudo sysctl -w net.ipv4.ip_local_port_range="10000 65000"# 修改timewait状态的存在时长
sysctl net.ipv4.tcp_fin_timeout = 30
sudo sysctl -w net.ipv4.tcp_fin_timeout=30 # 修改timewait最大值
net.ipv4.tcp_max_tw_buckets = 40000
sudo sysctl -w net.ipv4.tcp_max_tw_buckets=40000
- 执行配置:
sysctl -p
webman 报错解决手册相关推荐
- 【回眸】Hightec编译英飞凌TC397报错解决手册(上)
前言 英飞凌TC397的bringup任务已经完成,接下来要做emc移植方向的工作,首先介绍一下emc测试相关的内容: emc全称是电磁兼容性,是指设备或系统在其电磁环境中符合要求运行并不对其环境中的 ...
- Linux Lernel Panic 报错解决思路
Linux Kernel Panic 报错解决思路 作为系统管理员面对server重启都起不来,那是一个相当烦躁,接显示器查看经常会碰到遇到这样的字眼"Kernel Panic" ...
- 【matlab】【Datcom】气动解算软件win10报错解决办法及运行交互示例
版本说明 免费版本仍然可用.尚未使用Datcom + Pro版本的功能进行更新.没有大量的工作,我无法生成新的分发程序包,并且我现在对此不感兴趣.建议您观看教程视频,以了解使用新的Datcom + P ...
- Thinkphp安装报错解决办法
跟着官方文档的步骤安装thinkphp报错该如何解决: 前言 ThinkPHP无需安装过程,但是需要把ThinkPHP框架放入WEB运行环境(前提是你的WEB运行环境没有问题). 一.Thinkphp ...
- 连接远程服务器CredSSP加密Oracle修正报错解决办法
连接远程服务器CredSSP加密Oracle修正报错解决办法: 打开注册表,快捷输入 "regedit"(类似找命令提示符 输入 cmd 一样)找文件夹 路径:HKLM(缩写)\S ...
- 从零开始在ubuntu上安装和使用k8s集群及报错解决
文章目录 安装docker 安装kubernetes 配置k8s集群 配置虚拟机网络 配置Master节点的k8s网络 拉取k8s需要的镜像 启动 kubeadm 和 kubelet 配置 node节 ...
- Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.
此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...
- Python-PyCharm 报错解决:ImportError: cannot import name 'InteractiveConsole' from 'code'
此文首发于我的个人博客:Python-PyCharm 报错解决:ImportError: cannot import name 'InteractiveConsole' from 'code' - z ...
- 报错解决:RequestsDependencyWarning: urllib3 (1.24.3) or chardet (3.0.4) doesn't match a supported versio
此文首发于我的个人博客:报错解决 RequestsDependencyWarning urllib3 (1.24.3) or chardet (3.0.4) doesn't match a suppo ...
最新文章
- wpf listview 添加控件_WPF开源控件扩展库 MaterialDesignExtensions
- 高性能服务器架构思路(五)——分布式缓存
- backtrader数据基础
- 德国80%的统计学教授都会答错的6个与P值有关的问题!
- 深度学习《CycleGAN》
- 计算机应用基础知识竞赛题,计算机基础知识题库
- linux查看cuda驱动程序,我的nvidia驱动程序的正确CUDA版本是什么?
- 精神分析理论-弗洛伊德
- Ubuntu输入法使用回车键后字符间距异常的问题
- ZOJ 3939。规律题
- Windows远程桌面出现Error code: 0xc07的解决方案
- JAVA计算等额本金还款列表
- GAMES101现代计算机图形学入门——几何表示之曲线与曲面
- 简单的学生在线练习系统(PHP版)
- 重磅干货 | 带你深入解读:全栈测试开发工程师
- mysql驱动 jdbc下载
- 工业网络究竟怎么建?来听听工业互联网大会的意见
- FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection
- MIME与mime.types
- 用钱去投资,而不是抱着睡大觉(好文章共分享-转载)