Recently in LAMP Category

刚才装了个ZendStudio 10.1, 发现中文网络上没有可用的破解文件, 就来分享个
 
破解文件的网盘地址:
 
解压缩后有俩jar文件, 一个是放在/zendstudio_install_path/plugins目录下用于覆盖同名文件的jar,
一个是用来运行的keygen.jar,  java -jar keygen.jar即可执行

PHP5.4安装xhprof

| No Comments | No TrackBacks

从pecl上拿回来的xhprof 0.9.2在PHP5.4下无法成功make(别问我为什么是5.4的php)

在xhprof/extensionmul目录下打个patch即可

patch地址: https://github.com/facebook/xhprof/commit/a6bae51236.diff

openssl编译问题

| No Comments | No TrackBacks

编译的时候务必要设定enable-shared

eg:

./config -fPIC enable-shared threads --prefix=/home/work/local/

尼玛我厂product.scm上不是坑爹的build.sh嘛! 还专门写了no-shared, 我TMD就奇了怪了, 明明-fPIC了肿么mysql编译的时候还提示(against `OPENSSL_cpuid_setup' can not be used when making a shared object; recompile with -fPIC)openssl要加上-fPIC...

archlinux notes

| No Comments | No TrackBacks

 

不打算启用wired network的话不要在/etc/rc.conf中设置eth0和wlan0
 
pacman key init先
 
pacman -Sc清除缓存
pacman -Syu 系统升级到最新
pacman -S遇到error with file conflicts的时候加上--force即可
 
pacman的base-devel等同于(equivalent)ubuntu的build-essential
 
安装openssh
pacman -Sy openssh
启动sshd
/etc/rc.d/sshd start
修改/etc/rc.conf
在DAEMONS array中添加sshd
 
 
启用fvwm和xfce4前记得安装xorg
 
chromium提示无法以root身份运行的两种解决方法, 建议前者:
vim /etc/chromium/default
 
CHROMIUM_FLAGS=""
改为
CHROMIUM_FLAGS="--user-data-dir"
 
或者
vim /usr/bin/chromium
xhost + #关闭Xorg access control, 允许其他用户连接当前display
sudo -i -u suchasplus /opt/google/chrome/chrome
xhost - #开启Xorg access ctrl
 
----
sigh, root敢死队路过

lucid安装scribe手记

| No Comments | No TrackBacks

 

首先apt-get install必须的依赖
apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev
在thrift.apache.org上下载0.7.0版本的thrift
./configure --with-ruby=no
make
make install
然后cd contrib/fb303
./bootstrap.sh
make
make install
安装fb303是必须的,否则scribe无法编译
scribe是从git上获取的
安装步骤同fb303
 
编译好scribe之后,运行src/scribed examples/example1.conf,能正常运行即为编译成功
如果遇到src/scribed: error while loading shared libraries: libthrift.so.0: cannot open shared object file: No such file or directorycuw错误,将/usr/local/lib/libthrift.so.0 append到/etc/ld.so.conf并执行ldconfig即可
 
之前安装失败, google半天收到不少误导...结果发现把thrift && fb303 && scribe的文件中apache::thrift和namespace apache都替换成facebook::thrift和namespace facebook也能编译...仔细看了下才知道要先安装fb303

 

在ubuntu 10.04.2 LTS 64bit下使用apt安装的imagemagick和php/imagick, 在处理图片的时候会segment fault退出。
strace显示是处理完毕munmap出现的segment fault...
处理方式是显式设定OMP_NUM_THREADS=1, 是imagemagick使用的libgomp seg faulting。
openmp的committee说openMP在与其他线程模型一块工作时行为未定义...
所以想正常的用,要么编译的时候disable掉openmp, 要么显式export OMP_NUM_THREADS=1, 因为没有一个能在运行时关掉openmp的方法
悲催的是--disable-openmp选项由于经常link失败, 而imagemagick也没有针对这个问题提供2个版本的编译脚本...so

dokuwiki的页面很多都是<meta name="robots" content="noindex,nofollow"/>

默认设置下,在页面修改5天后才会改成index和follow

When creating/modifying a page allow search engines to index it after this time (in seconds). This works by adding <meta name=“robots” content=“noindex,nofollow” /> in the output if the specified time hasn't elapsed.

参考链接:

doku config:indexdelay

doku config:relnofollow

关于Readability

| No Comments | No TrackBacks

一个表中出现多个timestamp并设置其中一个为current_timestamp的时候经常会遇到

#1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

原因是当你给一个timestamp设置为on update current_timestamp的时候,其他的timestamp字段需要显式设定default值

但是如果你有两个timestamp字段,但是只把第一个设定为current_timestamp而第二个没有设定默认值,mysql也能成功建表, 但是反过来就不行...参见这里

参考文章:

Why there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT clause?

MySQL的timestamp类型自动更新问题

mysqldoc - timestamp

 

一、逻辑代数基础:
 
1,数字用二进制表示,所有可能出现的数只有0和1两个。
2,基本运算只有“与”、“或”、“非”三种。
 
与运算定义为:(用 & 表示与运算)
 
0 & 0 = 0 
0 & 1 = 0
1 & 0 = 0
1 & 1 = 1
 
可以简单理解为:只要有一个0,结果就是0,和乘法类似。
 
或运算定义为:(用 | 表示与运算)
 
0 | 0 = 0 
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
 
可以简单理解为:只要有一个1,结果就是1,和加法类似。
 
二、逻辑运算示例:
 
01111010101010101111111111111111 & 1100000 = 1100000
 
一般可以理解为:
 
如果要获取一个数字某N位的数值,只需要将这个数字与2的N-1次方(掩码)进行与运算即可。