当前位置:  编程技术>php
本页文章导读:
    ▪centos6.4中安装redis与phpredis      本节主要内容: centos6.4系统中安装与配置redis与phpredis 首先,来学习下redis的安装方法。 一、redis 1.下载安装   代码示例: $ wget http://download.redis.io/releases/redis-2.6.16.tar.gz $ tar xzf redis-2.6.16.tar..........
    ▪php curl模块的用法举例      说明: 使用curl前确保php_curl扩展已经开启。 一、curl使用 例如:采集深圳智联招聘上PHP招聘的第一页信息   代码示例: <?php $url='http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E6%B7%B1%E5%9C%B3&kw.........
    ▪PHP中__FUNCTION__与__METHOD__的区别      PHP中__FUNCTION__与__METHOD__的区别,主要在以下二点: 使用__FUNCTION__仅传回函数名称 使用__METHOD__传回类名称与函数名称   下面,我们创建一个类,来体会下二者的区别。 代码:   代码示例.........

[1]centos6.4中安装redis与phpredis
    来源: 互联网  发布时间: 2013-12-24

本节主要内容:
centos6.4系统中安装与配置redis与phpredis

首先,来学习下redis的安装方法。

一、redis

1.下载安装
 

代码示例:
$ wget http://download.redis.io/releases/redis-2.6.16.tar.gz
$ tar xzf redis-2.6.16.tar.gz
$ cd redis-2.6.16
$ make install
 

2.配置
 

代码示例:
$ mkdir /etc/redis
$ cp redis.conf /etc/redis/redis.conf
$ gedit /etc/sysctl.conf$ sysctl -p
 

注:sysctl.conf文件尾部加上vm.overcommit_memory=1

3.启动测试
 

代码示例:
$ /usr/local/bin/redis-server /etc/redis/redis.conf
$ /usr/local/bin/redis-cli
$ set test xjx
$ get test
 

4.开机启动
 

代码示例:

$ gedit /etc/redis/redis.conf
设置daemonize yes

$ gedit /var/run/redis.pid
直接保存,主要是创建该文件

gedit /etc/init.d/redis
编辑脚本,也可以自己下载或者输入以下内容
#!/bin/bash
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 80 12
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis/redis.conf
# pidfile:     /var/run/redis.pid

source /etc/init.d/functions

BIN="/usr/local/bin"
CONFIG="/etc/redis/redis.conf"
PIDFILE="/var/run/redis.pid"

### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0
prog="redis-server"
desc="Redis Server"

start() {

        if [ -e $PIDFILE ];then
             echo "$desc already running...."
             exit 1
        fi

        echo -n $"Starting $desc: "
        daemon $BIN/$prog $CONFIG

        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
        return $RETVAL
}

stop() {
        echo -n $"Stop $desc: "
        killproc $prog
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
        return $RETVAL
}

restart() {
    stop
    start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
        RETVAL=$?
        ;;
  status)
        status $prog
        RETVAL=$?
        ;;
   *)
        echo $"Usage: $0 {start|stop|restart|condrestart|status}"
        RETVAL=1
esac

exit $RETVAL

改变文件权限:
 

代码示例:
$ chmod 755 /etc/init.d/redis

添加开机启动:
 

代码示例:
$ chkconfig --add redis
$ chkconfig --level 345 redis on
$ chkconfig --list redis

之后重启服务器,$ service redis status 查看是否正确配置

接下来介绍phpredis的安装与配置方法。

二、phpredis

1.自行下载解压
https://github.com/nicolasff/phpredis/archive/master.zip

2.安装
 

代码示例:
$ cd /root/phpredis-master
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
 

注:路径根据实际情况修改
 
3.php扩展
$ gedit /usr/local/php/etc/php.ini
加入extension=redis.so,然后重启php-fpm(非nginx)

4.测试
 

代码示例:
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$redis->set('test','hello world!');
echo $redis->get('test');
 

三、phpredisadmin
http://down.admin5.com/php/75024.html
下载解压至www目录即可,这里提供大家,最好不用官方最新版本,个中原由,你用了就明白啦。


    
[2]php curl模块的用法举例
    来源: 互联网  发布时间: 2013-12-24

说明:
使用curl前确保php_curl扩展已经开启。

一、curl使用
例如:采集深圳智联招聘上PHP招聘的第一页信息
 

代码示例:

<?php
$url='http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E6%B7%B1%E5%9C%B3&kw=php&sm=0&p=1';

//初始化
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不自动输出内容
curl_setopt($ch, CURLOPT_HEADER, 0);//不返回头部信息
//执行curl
$output = curl_exec($ch);
//错误提示
if(curl_exec($ch) === false){
    die(curl_error($ch));
}
//释放curl句柄
curl_close($ch);

header('Content-type: text/html; charset=utf-8');
echo $output;

当然,必须对返回的数据使用<<正则表达式>>处理,找出想要的那一部分,然后根据需要把数据填充到网站中。

代码:
 

代码示例:

<?php
//职位名称
preg_match_all('/<td >.*?<a\s*href="/blog_article/(/)._"\starget="_blank">(.*?)<\/a>/s', $output, $title);
$title[1];//链接
$title[2];//标题

//公司名称
preg_match_all('/<td >.*?<a href="/blog_article/(/)._"\starget="_blank">(.*?)<\/a>/s', $output, $company);
$company[1];//链接
$company[2];//名字

//工作地点
preg_match_all('/<td >\s*(.*?)\s*<\/td>/s', $output, $address);
$address[1];//地点

//发布日期
preg_match_all('/<td >\s*(.*?)\s*<\/td>/s', $output, $time);
$time[1];//时间

var_dump($time[1]);
 

二、常用功能
curl的核心是通过设置各种选项来达到各种功能,这里我们介绍几种常用的选项。

1.post数据
 

代码示例:

$post=array(
'uid'=>'test',
'pwd'=>'curl123'
);

curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));//POST数据

2.cookie
 

代码示例:

$savefile=dirname(__FILE__).'save.txt';
$getfile=dirname(__FILE__).'get.txt';

//可以分开使用
curl_setopt($ch, CURLOPT_COOKIEJAR, $savefile); //保存 
curl_setopt($ch, CURLOPT_COOKIEFILE, $getfile); //读取

3.伪造IP、来路
 

代码示例:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));//构造IP 
curl_setopt($ch, CURLOPT_REFERER, "http://www.baidu.com");//构造来路 
curl_setopt选项大全,详见PHP手册:http://www.php.net/manual/zh/function.curl-setopt.php

三、多线程
官方示例
 

代码示例:

<?php
// 创建一对cURL资源
$ch1 = curl_init();
$ch2 = curl_init();

// 设置URL和相应的选项
curl_setopt($ch1, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch1, CURLOPT_HEADER, 0);
curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/");
curl_setopt($ch2, CURLOPT_HEADER, 0);

// 创建批处理cURL句柄
$mh = curl_multi_init();

// 增加2个句柄
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);

$running=null;
// 执行批处理句柄
do {
    usleep(10000);
    curl_multi_exec($mh,$running);
} while ($running > 0);

// 关闭全部句柄
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);


    
[3]PHP中__FUNCTION__与__METHOD__的区别
    来源: 互联网  发布时间: 2013-12-24

PHP中__FUNCTION__与__METHOD__的区别,主要在以下二点:
使用__FUNCTION__仅传回函数名称
使用__METHOD__传回类名称与函数名称
 
下面,我们创建一个类,来体会下二者的区别。

代码:
 

代码示例:
class a { 
    function fa() { 
        return __METHOD__; 
    } 
     
    function fb() { 
        return __FUNCTION__; 
    } 

 
$Obj = new a(); 
echo $Obj->fa();// output a::fa 
echo $Obj->fb();// output fb

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3