存档

2016年5月 的存档

Centos7的改变

2016年5月31日 评论已被关闭

1、CentOS的Services使用了systemd来代替sysvinit管理

比如5和6时代的“service vsftpd start”,现在应该是“systemctl start postfix.service”。

systemctl是主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start postfix.service
关闭一个服务:systemctl stop postfix.service
重启一个服务:systemctl restart postfix.service
显示一个服务的状态:systemctl status postfix.service
在开机时启用一个服务:systemctl enable postfix.service
在开机时禁用一个服务:systemctl disable postfix.service
查看服务是否开机启动:systemctl is-enabled postfix.service;echo $?
查看已启动的服务列表:systemctl list-unit-files|grep enabled

 

2、修改系统运行级别

systemd使用比sysvinit的运行级更为自由的target替代,

使用下面的命令切换到“运行级别3”:

systemctl isolate multi-user.target或systemctl isolate runlevel3.target,

使用下面的命令切换到“运行级别5”

systemctl isolate graphical.target或systemctl isolate runlevel5.target,

改变默认运行级别,默认启动运行级别3:
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
默认启动运行级别5 :
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

 

3、修改主机名

hostnamectl set-hostname NAME

 

4、修改开机选择系统时间

第一:vim /etc/default/grub,修改GRUB_TIMEOUT=0

第二:grub2-mkconfig -o /etc/grub2.cfg

 

 

 

分类: Linux 标签:

解决PHPCLI进程长时间运行假死问题

2016年5月19日 评论已被关闭

解决办法之一,重启

[pcsh lang=”bash” tab_size=”4″ message=”” hl_lines=”” provider=”manual”]


01 01 * * * kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`

[/pcsh]

或者

[pcsh lang=”bash” tab_size=”4″ message=”” hl_lines=”” provider=”manual”]


01 01 * * * kill -USR2 `ps -ef | grep -v grep | grep "php-fpm: master" | awk '{print $2}'`

[/pcsh]

 

 

分类: PHP 标签:

PHP使用zookeeper

2016年5月16日 评论已被关闭

貌似使用zk的php必须是非线程安全的,编译的时候不能加“–enable-maintainer-zts”参数,已验证。

 

1、安装zookeeper

在http://download.nus.edu.sg/mirror/apache/zookeeper/页面选择最近的稳定版本下载

当前的稳定版本是3.4.8

cd /tmp/

wget http://download.nus.edu.sg/mirror/apache/zookeeper/stable/zookeeper-3.4.8.tar.gz

tar xzf zookeeper-3.4.8.tar.gz -C /xuef/apps/

 

2、安装zookeeper c client(安装zk for php扩展时需要)

进入/xuef/apps/zookeeper-3.4.8/src/c/下,

./configure –prefix=/xuef/apps/zookeeper-c-client

make

make install

 

3、到https://pecl.php.net/package/zookeeper页面下载最新的稳定版,当前是0.2.2

tar xzf zookeeper-0.2.2.tgz

cd zookeeper-0.2.2

phpize

./configure –with-libzookeeper-dir=/xuef/apps/zookeeper-c-client/

make

make install

 

4、配置&启动

cp conf/zoo_sample.cfg conf/zoo.cfg

/xuef/apps/zookeeper-3.4.8/bin/zkServer.sh start & > /dev/null 2>&1

 

5、ps -ef | grep zookeeper可以看到zk进程再跑

 

 

 

 

 

 

分类: Linux 标签:

用PHP统计docx文章中的词频

2016年5月11日 评论已被关闭

一个初中同学现在在做英文文献的翻译,要我帮忙做一下单词的词频,以下

找了一下资料,需要用到一个叫做antiword的工具,下载地址如下

http://www.winfield.demon.nl/linux/antiword-0.37.tar.gz

Linux下直接make && make install 即可

但是是针对doc文件的,用office另存为选择doc格式就可以了,具体的PHP代码如下:

[pcsh lang=”php” tab_size=”4″ message=”” hl_lines=”” provider=”manual”]

<?php 

	$filename="/tmp/zhangyj.doc";

	//都是英文,不需要转utf8
	//$content = shell_exec('/root/bin/antiword -m UTF-8.txt '.$filedoc);
	$content = shell_exec('/root/bin/antiword '.$filename);

	//替换回车
	$content = strtolower( str_replace(chr(10), chr(32), $content) );

	//替换表格的竖线
	$content = preg_replace('/[|]+/',' ',$content);

	//替换多个空格为一个
	$content = preg_replace('/[ ]+/', ' ', $content);

	$wordArr = explode(' ', $content);

	$data = [];
	foreach($wordArr as $val) {

        $w = trim($val, '.,)(');
        
        if(array_key_exists($w, $data))
            $data[$w] ++;
        else
            $data[$w] = 1;
	}

	//保留索引,降序排列
	arsort($data);

	//一共有多少个词
	echo array_sum($data), PHP_EOL;

	print_r($data);
 

[/pcsh]

结果如下:

QQ20160511-2@2x

QQ20160511-3@2x

总字数9525,和word中给的9345误差不大。

分类: PHP 标签: