Centos下安装php PDO PostgreSQL扩展

1.安装 wget http://pecl.php.net/get/PDO_PGSQL-1.0.2.tgz tar -zxvf PDO_PGSQL-1.0.2.tgz cd PDO_PGSQL-1.0.2 ~/odp/php/bin/phpize export PGSQL_INCLUDE=/home/users/yanjingang/postgresql/include export PGSQL_LIBDIR=/home/users/yanjingang/postgresql/lib ./configure –with-php-config=/home/users/yanjingang/odp/php/bin/php-config –with-pdo-pgsql=/home/users/yanjingang/postgresql/ –with-pgsql=/home/users/yanjingang/postgresql/ make && make install 2.配置 vim odp/php/etc/ext/pdo_pgsql.ini   添加 [pdo_pgsql] extension=”pdo_pgsql.so” ~/odp/php/sbin/php-fpm restart ~/odp/webserver/bin/lighttpd.sh restart 3.done

PHP中的二进制位运算和权限存储

在很多系统的权限/选项设置中 很多都用到了位运算的方法来存储多种标志位。这样可以节省字段。一个字段只需要一个数字 就可以标识很多种设置和信息。

举例 dicuz的帖子表的status字段,官方预留了16个标志位(0x0000 – 0xFFFF) 即216

目前规划使用了只有8个标志位,如下

 0000 0000 0000 0001 是否缓存帖子位置信息 0000 0000 0000 0010 是否回帖只对管理人员和发帖者可见 0000 0000 0000 0100 是否抢楼贴 0000 0000 0000 1000 是否倒序查看回帖 0000 0000 0001 0000 是否存在主题图章标志位<br

阅读全文

mac下配置php开发环境

主要内容:

安装macports

启动apache

启动php

安装mysql

安装pecl

安装mongodb

安装php extension(mongo、mcrypt)

一、macports

Mac下面除了用dmg、pkg来安装软件外,比较方便的还有用MacPorts,就像apt-get、yum一样,可以方便的快速安装些软件。

1.安装macports

访问官方网站http://www.macports.org/install.php,下载MAC对应版本的MacPorts,例如<a

阅读全文

mac下安装php mcrypt 扩展

 MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,在mac下的源码安装方法如下:

下载并解压libmcrypt-2.5.8.tar.gz。 在终端执行如下命令: tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure –disable-posix-threads –enable-static make sudo make install (mac

阅读全文

20个实用的PHP库

PHP开发技术在这几年依然比较火热,也有越来越多的开发者加入到了PHP开发阵营,在复杂的框架和冗余的代码面前,选择合适的PHP库就显得 尤为重要,优秀的PHP库可以为你节省很多代码和编码时间。

下面是一些非常有用的PHP类库,相信一定可以为你的WEB开发提供更好和更为快速的方法。

图表库

阅读全文

php 按比重随机抽样 方法

/**  * 按比重随机抽样  * @author yanjingang@mail.com  * @param array $weight 随机值=>比重 例如array(‘a’=>20,’b’=>30,’c’=>50)  * @return string key 键名  */ function randByWeight($weight = array()) { $rand = rand(1, array_sum($weight)); $randval = 0; $_tmpw = 0; foreach ($weight as $k => $w) { $min = $_tmpw; $_tmpw += $w; $max = $_tmpw; if ($rand > $min && $rand <= $max) { $randval = $k; break; } } return $randval; } //测试 $key = randByWeight(array(‘a’ => 200, ‘b’ => 300, ‘c’ => 500)); //随机比重验证 /* 各分值出现比重: 1分——5% 2分——20% 3分——10% 4分——4% 5分——35% 6分——4% 7分——4% 8分——8% 9分——4% 10分——6%  */ $rands = array(); for($i=0;$i<100;$i++){ $key = randByWeight(array(1=>5,2=>20,3=>10,4=>4,5=>35,6=>4,7=>4,8=>8,9=>4,10=>6)); if(isset($rands[$key])) $rands[$key]++; else $rands[$key] = 1; } arsort($rands); var_dump($rands); /* 随机100次结果:  分数 => 随机出现次数  5 => 31  2 => 23  8 => 15  10 => 8  3 => 7  7 => 5  4 => 5  6 => 3  9 => 2  1 => 1

*/