phpize安装扩展

安装fileinfo为例

tar zxvf php-5.6.20.tar.gz # 解压已经安装的php版本
cd php-5.6.20/ext/fileinfo
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
cd /usr/local/php/lib/php/extensions
ls #看到no-debug-non-zts-20131226类似文件夹
cd no-debug-non-zts-20131226
ls #查看有没有 fileinfo.so,如果有,证明编译成功
加载fileinfo
echo 'extension=fileinfo.so' > /usr/local/php/etc/php.d/ext-fileinfo.ini

Win7驱动数字签名问题

新装win7系统,安装虚拟网卡驱动,总是因为“未经数字签名”而安装失败,导致设备管理器中挂黄标,于是乎开始各种查找问题,因为同样软件在别的win7系统上没有出现此问题,而且都是经我手同样方法安装的win7原版镜像,排查方法如下:

1、开机F8禁用数字签名,驱动可以安装成功,但是重启后又失效;

2、修改组策略,禁用数字签名,无效;

3、执行cmd命令开启测试模式,禁用数字签名,无效;

4、安装微软KB3033929补丁,成功!

折腾到最后,竟是一个补丁解决了。其实最开始也想过,会不会是补丁的问题,因为新装系统出的问题,之前装的却正常,有可能就是之前装的系统升级过补丁,当时都在安装补丁合集了,但安装过程较慢、时间较长,这个过程中自己思路又歪了, 以至于走了很多弯路 ,去排查什么激活方法问题、驱动包兼容问题等等,来回重装了N次系统,费时费力。

最后感慨一下,思路果然很重要,排除法虽然最后也解决了,但耗费不少精力。如果我当初的思路没被打断,执行下去早就搞定了。

Linux系统版本查询命令

# uname -a (Linux查看版本当前操作系统内核信息)
# cat /proc/version (Linux查看当前操作系统版本信息)
# cat /etc/issue 或 cat /etc/redhat-release (Linux查看版本当前操作系统发行版信息)
# cat /proc/cpuinfo (Linux查看cpu相关信息,包括型号、主频、内核信息等)
# getconf LONG_BIT (Linux查看版本多少位)
# lsb_release -a (CentOS 6.9版本需要安装lsb,CentOS 7.0以上直接可以使用,网上都说Linux都支持,我只验证过CentOS系统)

MySQL批量修改

mysql更新语句很简单,更新一条数据的某个字段,一般这样写:

UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';

如果更新同一字段为同一个值,mysql也很简单,修改下where即可:

UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');

这里注意,other_values是一个逗号分隔的字符串,如:1,2,3

那如果是MySQL批量修改不同的记录为不同的值呢?

1 常规方案

那如果修改多条数据为不同的值,可能很多人会这样写:

foreach ($display_order as $id => $ordinal) {
    $sql = "UPDATE categories SET display_order = $ordinal WHERE id = $id";
    mysql_query($sql);
}

即是循环一条一条的更新记录。

一条记录update一次,这样性能很差,也很容易造成阻塞

2 高效方案

那么能不能一条sql语句实现批量更新呢?

继续阅读MySQL批量修改

Pure-ftp配置文件详解

# vi pure-ftpd.conf
############################################################
#                                                          #
#         Configuration file for pure-ftpd wrappers        #
#                                                          #
############################################################

# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
#
# Please don't forget to have a look at documentation at
# http://www.pureftpd.org/documentation.shtml for a complete list of
# options.

# Cage in every user in his home directory
# 锁定所有用户到家目录中
ChrootEveryone yes

# If the previous option is set to "no", members of the following group
# won't be caged. Others will be. If you don't want chroot()ing anyone,
# just comment out ChrootEveryone and TrustedGID.
# 信任组ID100,可以不锁定
# TrustedGID 100

# Turn on compatibility hacks for broken clients
# 兼容不同客户端
BrokenClientsCompatibility no

# Maximum number of simultaneous users
# 最大的客户端数量
MaxClientsNumber 50
# Fork in background
# 后台运行
Daemonize yes

继续阅读Pure-ftp配置文件详解

wget下载目录用法

需要下载某个目录下面的所有文件,命令如下:
wget -c -r -np -k -L -p www.xxx.org/pub/path/
在下载时。有用到外部域名的图片或连接。如果需要同时下载就要用-H参数。
wget -np -nH -r –span-hosts www.xxx.org/pub/path/
-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L 递归时不进入其它主机,如wget -c -r www.xxx.org/
如果网站内有一个这样的链接:
www.yyy.org,不加参数-L,就会像大火烧山一样,会递归下载www.yyy.org网站
-p 下载网页所需的所有文件,如图片等
-A 指定要下载的文件样式列表,多个样式用逗号分隔
-i 后面跟一个文件,文件内指明要下载的URL

继续阅读wget下载目录用法

SSH下导入数据库

导入:

假设mysql数据库叫mydb,而且事先建立好这个数据库,用户名是dbuser,密码是dbpassword,使用如下命令

mysql -h localhost -u dbuser -p mydb < sql_backup.sql

导出:

mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql

Centos配置中文化Man

1.Centos配置中文Man
2.http://pkgs.fedoraproject.org/repo/pkgs/man-pages-zh-CN/
下载man中文包,最新的为1.5.2
3.安装
解压:# tar -xvf manpages-zh-1.5.2.tar.bz2
进入目录
# cd manpages-zh-1.5.2
编译安装:
# ./configure --prefix=/usr/local/zhman --disable-zhtw
# make
# make install
4.配置环境变量
# cd ~
# vi .bashrc
增加:
alias cman='man -M /usr/local/zhman/share/man/zh_CN'
# source .bashrc
5.验证
# cman date
6.为了学习,还是多学英语比较好,中文救急,希望配合使用