真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Centos安裝Gearman及其php擴(kuò)展

安裝Gearman

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了沁陽(yáng)免費(fèi)建站歡迎大家使用!

========================================================

向一個(gè)機(jī)器添加Gearman需要兩步:

1.構(gòu)建并啟動(dòng)這個(gè)守護(hù)進(jìn)程(gearmand)

2.構(gòu)建與php版本相匹配的PHP擴(kuò)展。

========================================================

安裝gearmand

========================================================

我安裝版本是gearmand 1.1.12:

1. 首先安裝依賴包:

sudo yum -y install autoconf bison flex libtool libboost-all-dev libcurl4-openssl-dev curl libevent-dev uuid-dev libsqlite3-dev libMySQLclient-dev mysql-devel

2.下載Gearmand版本

在https://launchpad.net/gearmand下載最新版本

3.解壓、編譯、安裝源碼包

tar xvzf gearmand-1.1.12.tar.gz
cd gearmand-1.1.12
./configure
make
make install

注:這個(gè)過(guò)程中可能無(wú)法編譯成功,而且?guī)茁屎艽?,我安裝的時(shí)候出現(xiàn)各種問(wèn)題,但主要都是缺少共享庫(kù),這時(shí)候要根據(jù)個(gè)人實(shí)際情況,看它報(bào)的是什么錯(cuò),然后根據(jù)報(bào)錯(cuò),更新或者安裝共享庫(kù)。

sudo yum install ***等。

4.為大多數(shù)最新的共享庫(kù)創(chuàng)建必須的鏈接和緩存。其中可能報(bào):

error: gearman: error while loading shared libraries: libgearman.so.8: cannot open shared object file: No such file or directory

解決辦法:sudo ldconfig,我安裝的時(shí)候就出現(xiàn)了這種情況,一開(kāi)始不知道怎么回事,百度了很久才找到這個(gè)方法。


安裝php 的gearman 擴(kuò)展

========================================================

下載最新版本:

$ wget http://pecl.php.net/get/gearman-1.1.1.tgz
$ tar zxvf gearman-1.1.1.tgz
$ cd gearman-1.1.1/
$ phpize

$ ./configure --with-php-config=/usr/local/php/bin/php-config

$ make
$ make install

6. 在php.ini文件末尾添加"extension=gearman.so"

7. 檢測(cè)擴(kuò)展是否安裝成功

$ php --info | grep "gearman support"
gearman support => enabled

顯示出:gearman support => enabled,就表示安裝成功啦。

測(cè)試

========================================================

1)sudo ldconfig

2)啟動(dòng)gearmand: gearmand -d &

這一步可能會(huì)遇到:

啟動(dòng)這個(gè) agent,即 Gearman 守護(hù)程序:
/usr/local/sbin/gearmand --daemon
報(bào)錯(cuò):Could not open log file "/usr/local/var/log/gearmand.log", from "/usr/sbin", switching to stderr. (No such file or directory)
解決:
mkdir -p /usr/local/var/log/
cd /usr/local/var/log/
touch gearmand.log
再次嘗試啟動(dòng):
/usr/local/sbin/gearmand --daemon
成功運(yùn)行.查看進(jìn)程:ps -ef | grep gearmand
root     19390     1  0 17:50 ?        00:00:00 gearmand --daemon
root     19403     1  0 17:54 ?        00:00:00 /usr/local/sbin/gearmand --daemon
root     19406  1556  0 17:54 pts/3    00:00:00 grep gearmand

3)查看gearmand是否在運(yùn)行:ps aux | grep [g]earmand

4)檢查germand的任務(wù)檢測(cè)端口4730:sudo lsof -i tcp:4730


例子:從PHP使用Gearman

=====================================================

從 PHP 使用 Gearman 類(lèi)似于之前的示例,惟一的區(qū)別在于這里是在 PHP 內(nèi)創(chuàng)建 producer 和 consumer。
每個(gè) consumer 的工作均封裝在一個(gè)或多個(gè) PHP 函數(shù)內(nèi)。
先用 PHP 編寫(xiě)的一個(gè) Gearman worker。將這些代碼保存在一個(gè)名為 worker.php 的文件中。
 $worker= new GearmanWorker();
 $worker->addServer();
 $worker->addFunction("title", "title_function");
 while ($worker->work());

 function title_function($job)
 {
   return ucwords(strtolower($job->workload()));
 }
?>


再用 PHP 編寫(xiě)的一個(gè) producer,或 client。將此代碼保存在一個(gè)名為 client.php 的文件內(nèi)。
 $client= new GearmanClient();
 $client->addServer();
 print $client->do("title", "All The World's a stage!");
 print "\n";
?>

現(xiàn)在,可以用如下的命令行連接客戶機(jī)與 worker 了:
php worker.php &
php client.php
結(jié)果:
All The World's a stage!


網(wǎng)頁(yè)名稱(chēng):Centos安裝Gearman及其php擴(kuò)展
分享路徑:http://weahome.cn/article/poijes.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部