Solve the problem “proc_open(): unable to create pipe Too many open files” while using phar

I feel quite confident in altering phar.c - I shall do so as soon as my new laptop arrives, the old and faithful one having given up the ghost some days ago - but I think the problem lies rather in compiling (and distributing) the resulting phar.so module, which must match the existing PHP installation.For me on OpenSuSE for example the easiest option seems to be to download the php5-phar SRPM and... Read More

理解 Linux 系统 /etc/init.d 目录和 /etc/rc.local 脚本

当你查看/etc目录时,你会发现许多rc#.d 形式存在的目录(这里#代表一个指定的初始化级别,范围是0~6)。在这些目录之下,包含了许多对进程进行控制的脚本。这些脚本要么以"K"开头,要么以"S"开头。以K开头的脚本运行在以S开头的脚本之前。这些脚本放置的地方,将决定这些脚本什么时候开始运行。在这些目录之间,系统服务一起合作,就像运行状况良好的机器一样。然而,有时候你希望能在不使用kill 或killall 命令的情况下,能干净的启动或杀死一个进程。这就是/etc/init.d能够派上用场的地方了 Read More

Mac(Linux)下解压(Unzip)文件时出现乱码解决方案

由于zip格式中并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时出现乱码问题,因为Linux下的默认编码是UTF8。Python方案这个方案很简单,因为如果你是*nix系统,那么python环境很有可能已经装好了。如果没有安装的话,可以到下面地址下载对应的安装包https://wiki.python.org/moin/BeginnersGuide/Downloa然后,创建python脚本文件myunzip.py,并写入如下内容[code lang="python"#作者:Latm Ak#链接:https://www.zhihu.com/question/20523036/answer/3522592#来源:知乎#著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。#!/usr/bin/env pytho... Read More

Linux 查看物理 CPU 个数、核数、逻辑 CPU 个数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -# 查看每个物理CPU中core的个数(即核数cat /proc/cpuinfo| grep "cpu cores"| uni# 查看逻辑CPU的个数cat /proc/cpuinfo| grep "processor"| wc -查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -查看内 存信息
# cat /proc/meminf文章来源:http://www.cnblogs.com/emanlee/p/3587571.htm Read More

Linux 常用命令

操作系统命令uname -a #查看内核/操作系统/CPU信息head -n 1 /etc/issue #查看操作系统版本cat /proc/cpuinfo #查看CPU信息hostname #查看计算机名lspci -tv #列出所有PCI设备lsusb -tv #列出所有USB设备lsmod #列出加载的内核模块env #查看环境变量文件/IO资源命令free -m #查看内存使用量和交换区使用量df -h #查看各分区使用情况du -sh <目录名> #查看grep MemTotal /proc/meminfo #查看内存总量grep MemFree /proc/meminfo #查看空闲内存量uptime #查看系统运行时间、用户数、负载cat /proc/loadavg #查看系统负载mount | column -t #查看挂接的分区状态fdisk -l #查看所有分区... Read More

在 Linux 下通过 strace 与 lsof 命令排查 PHP 异常进程

在有些时候,会遇到PHP进程异常卡死的情况。面对这种情况,首先考虑到的就是分析代码进行优化改进,或者重启进程。但是,这种方式来排查不一定能找到根本原因。因为有些时候异常PHP进程卡死的原因可能是非常奇葩的问题,比如外部资源异常如DB、Redis与第三方API等。上一次关于超级话题签到提醒定时任务PHP进程异常的处理,问题竟然出现在外部的DB的链接上。由于网络原因导致读取DB没有响应卡死。这一次情况比较严重,超级话题积分系统的计算有一部分是通过Trigger(类似队列)接受全站数据进行积分计算与入库。由于用户反馈问题,来到队列机查看进程情况。如下$ ps -ef | grep Trigger | grep Commenwww 10693 1 7 16:06 ? 00:04:09 /usr/local/bin/php /path/cli.php request_uri=/Cli/Trigg... Read More