Ubuntu 12.04 安裝 gearman 以及php擴展安裝腳本


#!/usr/bash
#create by lhb
#date 2014-05-07
#desc install gearman and php extension for Ubuntu 12.04.4 LTS  PHP 5.5
apt-get update
#安裝依賴庫
apt-get install libboost-all-dev gperf libevent1-dev libcloog-ppl0
mkdir -pv /home/lhb/software && cd /home/lhb/software
#下載gearman包
wget https://launchpad.net/gearmand/1.2/1.1.8/+download/gearmand-1.1.8.tar.gz
tar zxvf gearmand-1.1.8.tar.gz
cd gearmand-1.1.8/
./configure
make
make install
cd ..
apt-get install gearman-job-server
service gearman-job-server start
ps -ef |grep gearman
#安裝php5-fpm
apt-get install php5-fpm php-cli php5-cli php5-dev
#下載gearman的php擴展庫
wget http://pecl.php.net/get/gearman-1.1.2.tgz
tar zxvf gearman-1.1.2.tgz
cd gearman-1.1.2/
phpize
whereis php-config
./configure --with-php-config=/usr/bin/php-config
make
make install
#加入到php.ini配置
echo "extension=gearman.so" > /etc/php5/mods-available/gearman.ini
#cd /etc/php5/cli/conf.d/  && ln -s ../../mods-available/gearman.ini gearman.ini
#cd /etc/php5/fpm/conf.d/ && ln -s ../../mods-available/gearman.ini gearman.ini
for target_path in /etc/php5/cli/conf.d/ /etc/php5/fpm/conf.d/ ; do
        cd $target_path && ln -s ../../mods-available/gearman.ini gearman.ini
done
service php5-fpm restart
#查看擴展是否安裝成功
php --info | grep "gearman"
查看是否啓動
ps auxw | grep [g]earmand
lsof -i tcp:4730


wKiom1NqEPHjPaXMAACsyb68Z8U836.jpg


wKioL1NqEC_xrtLyAAH1RaJaL2k155.jpg


worker.phpphp

<?php
  $worker= new GearmanWorker();
  $worker->addServer();
  $worker->addFunction("lhb", "lhb_test");
  while ($worker->work());
  function lhb_test($job)
  {
    return strtoupper($job->workload());
  }
?>


client.phpbash

<?php
  $client= new GearmanClient();
  $client->addServer();
  print $client->do("lhb", "this is a test by lhb");
  print "\n";
?>


測試結果:tcp

wKioL1NqD4XC-lCeAABuCL821z8142.jpg

相關文章
相關標籤/搜索