老黎

  • 老黎: 名为黎小跃,于乙丑年某一夏日生于某一小乡村,自称农民一个,事实也如此;跌跌撞撞到现今老黎为一迷途PHPer.此博客为黎小跃所有,凡未注明出处的文章皆为黎小跃原创,转载请注明出处.
  • 老黎简述|联系老黎|老黎近照

现在可以通过PECL安装phpredis扩展让PHP支持Redis了

老黎 发表于 2013-04-30 23:42:19

时经两年,Redis的PHP扩展phpredis终于被收录进PECL了。

各位童鞋可以通过PECL很简单的就能安装上phpredis了,不需要再去下载源码编译了

安装命令:pecl install redis

phpredis的PECL仓库地址:http://pecl.php.net/package/redis

phpredis的GITHUB地址:http://github.com/nicolasff/phpredis

Redis官网:http://www.redis.io/

Tags: pecl,phpredis,redis

老黎的聚宝盘(PHP) 3条评论

Linux(Redhat)安装Oracle client和php pdo_oci扩展

老黎 发表于 2012-09-19 14:56:52

 1、安装Oracle client

前往官网下载instant-client安装程序

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

以Redhat 32bit为例,这里选择下载Instant Client for Linux x86

 

然后选择你要安装的client版本, 目前Linux下使用Version 10.2.0.5版本较为合适

下载并安装安装basic和devel这两个包

oracle-instantclient-basic-10.2.0.5-1.i386.rpm

oracle-instantclient-devel-10.2.0.5-1.i386.rpm

rpm安装命令为rpm -ivh xxx.rpm

 

安装后,执行命令whereis oracle回显如下结果:

oracle: /usr/lib/oracle /usr/include/oracle /usr/share/oracle

说明oracle client已经安装到以上目录了,接着配置环境变量

 

 

在 /etc/profile 文件最后,加入:

export ORACLE_HOME=/usr/lib/oracle/10.2.0.5/client/

export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.

export TNS_ADMIN=$ORACLE_HOME

export PATH=$PATH:$ORACLE_HOME/bin:.

执行source /etc/profile 使配置生效。

 

 

2、使用php源码重新编译来启用pdo_oci

把oracle client的include复制到php源码里用以编译pdo_oci

假设php源码在~/php-src目录下,则执行

cp -f /usr/include/oracle/10.2.0.5/client/* ~/php-src/include/

 

使用phpinfo()取得原来的./configure参数,在其后加上 --with-pdo-oci

例如:

cd ~/php-src/

'./configure' ' '--with-pdo-mysql=/data/app/mysql' '--enable-sockets' '--enable-soap' '--enable-mbstring' '--with-mcrypt=/usr/local/lib' '--with-pdo-oci'

make && make install

如无报错,则重编成功

phpinfo();检查结果

阅读全部内容…

Tags: Oracle,pdo,pdo_oci,php

老黎的聚宝盘(PHP) 没有评论

ThinkPHP 3.0 功能特性和更新说明

老黎 发表于 2012-01-05 09:59:59

ThinkPHP 3.0 预计将会在2012年1月15日正式发布,正逢tp六周年之际

ThinkPHP新版特性概述

 

全新的CBD(核心+行为+驱动)架构模式,打造DIY框架和类AOP编程体验;

 

全新改进的项目编译机制,更快更方便,并且支持编译文件直接作为入口载入,并且支持常量外部载入,利于产品发布;

 

调试模式更易用,可以设置不同的项目状态 并自动加载对应不同的项目配置文件,并且详细记录行为执行日志;

 

路由的增强更加灵活 支持新的规则路由,改进正则路由,并改进定义方式;

 

内部导入机制和自动加载机制优化 全面提升import A D R等方法的性能;

 

URL模式简化,兼容URL地址优先判断;

 

查询语言进一步增强,query和execute方法增强 支持连贯操作和SQL解析;

 

模板引擎性能提升,PHP语法检测,include用法改进 支持变量传输;

 

全新的布局模板实现,支持布局嵌套;

 

实现了扩展和驱动的完全分离,并且驱动集中管理;

 

AJAX返回数据支持扩展,提供更好的AJAX支持;

 

更强大和易用的模式扩展;

 

U函数重新设计;

 

去除Think基类设计,Think重新设计为入口类和静态类;

 

增加MongoDb支持;

 

增加REST模式,提供RESTFul支持;

 

增加SAE模式扩展提供新浪SAE部署和本地调试支持;

 

增加自动验证规则;

 

动态配置文件和函数文件支持;

 

ThinkPHP 3.0 更新说明

阅读全部内容…

Tags: thinkphp

老黎的聚宝盘(PHP) 没有评论

解决IE6下左浮动元素换行的问题

老黎 发表于 2011-12-03 15:23:49

html结构如下:

xhtml代码
  1. <ul> 
  2. <li><a href="category.php?id=7">考研英语</a></li> 
  3. <li><a href="category.php?id=8">考研数学</a></li> 
  4. <li><a href="category.php?id=9">考研政治</a></li> 
  5. <li><a href="category.php?id=10">统考专业课试题</a></li> 
  6. </ul> 

一开始写的css如下:

xhtml代码
  1. <style type="text/css"> 
  2. ul { clear:both; margin:0 15px 0 25px;} 
  3. ul li {height:20px; float:left; width:auto; margin-left:5px;} 
  4. </style> 

FF和IE8正常,但在IE6就悲催了...

ie6左浮动换行

解决方法:自适应宽度的左浮动元素加上display: inline-block;overflow: hidden;white-space: nowrap;

xhtml代码
  1. ul { clear:both; margin:0 15px 0 25px;} 
  2. ul li {display: inline-block;overflow: hidden;white-space: nowrap; height:20px; float:left; width:auto; margin-left:5px;} 

完美解决问题。

阅读全部内容…

Tags: css

老黎的聚宝盘(PHP) 没有评论

织梦DEDECMS模版标签arclist取交叉栏目的内容

老黎 发表于 2011-12-01 17:09:37

打开dedecms下的/include/taglib/arclist.lib.php

找到:

php代码
  1. if($CrossID==''$orwheres[] = ' arc.typeid IN ('.GetSonIds($typeid).')'

在这行代码前添加:

php代码
  1. //处理手动交叉的栏目 by LeapLee@www.ayuelee.cn 
  2. $temp = $dsql->GetOne("SELECT `cross`,`crossid` FROM `#@__arctype` WHERE id='$typeid' "); 
  3. if($temp['cross'] == 2){ 
  4.     $CrossID = $temp['crossid']; 

这样就能使得arclist标签取得文章分类下的所有交叉栏目的文章了

例如在列表模板里:{dede:arclist row='8'}{/dede:arclist} 这样能取得当前分类和它的手动交叉栏目的8条文章

注:仅支持单个typeid,不支持typeid='x,x,x'参数

阅读全部内容…

Tags: arclist,dedecms,交叉分类,织梦

老黎的聚宝盘(PHP) 没有评论

淘宝SDK高级模板ie透明度,淘宝sdk半透明效果兼容firefox和ie

老黎 发表于 2011-10-28 16:49:36

使用以下css属性可在淘宝sdk高级模板中实现半透明的效果

淘宝sdk半透明css代码
  1. opacity: 0.5;/*兼容firefox*/ 
  2. filter: progid:DXImageTransform.Microsoft.Alpha(opacity=50); /*兼容IE*/ 

 

Tags: 半透明,淘宝sdk

老黎的废纸篓 没有评论

MySQL中UNIX时间戳与日期的相互转换

老黎 发表于 2011-07-08 10:03:26

    UNIX时间戳转换为日期用函数: FROM_UNIXTIME()

    select FROM_UNIXTIME(1156219870);

    日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP()

    Select UNIX_TIMESTAMP(’2006-11-04 12:23:00′);

    例:mysql查询当天的记录数:

    $sql=”select * from message Where DATE_FORMAT(FROM_UNIXTIME(chattime),’%Y-%m-%d’) = DATE_FORMAT(NOW(),’%Y-%m-%d’) order by id desc”;

    当然大家也可以选择在PHP中进行转换

    UNIX时间戳转换为日期用函数: date()

    date('Y-m-d H:i:s', 1156219870);

    日期转换为UNIX时间戳用函数:strtotime()

    strtotime('2010-03-24 08:15:42');

Tags: MySQL

老黎的聚宝盘(PHP) 1条评论

PHP数组foreach逆序输出,php数组倒序

老黎 发表于 2011-01-08 10:59:41

简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...

php数组逆序输出代码
  1. foreach(array_reverse($array) AS $key=>$value){ 
  2. echo $value.'
    '

 

array_reverse

(PHP 4, PHP 5)

array_reverse返回一个单元顺序相反的数组

说明

array array_reverse ( array $array [, bool $preserve_keys ] )

array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keysTRUE 则保留原来的键名。

Example #1 array_reverse() 例子

<?php
$input  
= array("php"4.0, array("green""red"));
$result array_reverse($input);
$result_keyed array_reverse($inputTRUE);
?>

这将使 $result$result_keyed 具有相同的单元,但是注意键名的区别。$result$result_keyed 的打印输出显示分别为:

Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

Note: 第二个参数是 PHP 4.0.3 中新加的。

Tags: php,逆序

老黎的聚宝盘(PHP) 1条评论

Apache错误:_default_ VirtualHost overlap on port 80, the first has precedence

老黎 发表于 2010-12-30 16:38:50

今天客户购置了一台服务器,因为以后是给客户自己管理的,所以选择了安装win 2003。

web server环境依然是Apache/2.2.8 + PHP/5.2.6 + Mysql/5.0.51a

在设置apache虚拟主机的过程中,apache报错_default_ VirtualHost overlap on port 80, the first has precedence机的

原来是我在vhost.conf配置文件中少写了一行造成了apache “_default_ VirtualHost overlap on port 80, the first has precedence”的错误。

NameVirtualHost *:80


[...]

补上这个NameVirtualHost *:80再重启就好了!

阅读全部内容…

Tags: Apache

老黎的聚宝盘(PHP) 没有评论

Linux自启动脚本控制命令update-rc.d

老黎 发表于 2010-11-14 19:57:45

以前我是直接去/etc/rcX.d目录下通过SXXservicename或KXXservicename来停止自启动服务,不过现在发现了到了两个好用的命令,不用一个一个rcx.d去的操作

1.update-rc.d

//移除apache2的开机自启动

update-rc.d –f apache2 remove

//添加apache2的开机自启动

update-rc.d apache2 start 20 3 4 5 .

此命令最后是空格加一点(.),会在rc3.d,rc4.d,rc5.d生成名为S20apache2的链接

2.invoke-rc.d

//同上

invoke-rc.d apache2 stop

invoke-rc.d apache2 start

阅读全部内容…

Tags:

Linux 3条评论
Loading
归档
订阅RSS