導航:首頁 > 編程語言 > ubuntuphpmemcache

ubuntuphpmemcache

發布時間:2022-07-28 17:50:40

Ⅰ 如何在ubuntu 16.04 上安裝 phpmyadmin

啟用PHP支持
然後安裝apache的php擴展:
sudo apt install libapache2-mod-php7.0

安裝完成之後需要重啟apache:
sudo systemctl restart apache2

然後在apache的默認目錄中新建一個PHP文件:
sudo nano /var/www/html/info.php

文件內容如下:
<?php
phpinfo();
?>

然後在瀏覽器中查看一下是否成功:info。
成功之後別忘了刪除info.php,它包含了很多伺服器的敏感信息。
sudo rm -f /var/www/html/info.php

啟用SSL
然後啟用SSL:
sudo a2enmod ssl
sudo a2ensite default-ssl

配置PHP
啟用PHP擴展
安裝所需的PHP擴展,也可以全部安裝,全部安裝可能會降低性能:
sudo apt -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext

然後重啟apache:
sudo systemctl restart apache2

安裝APCu
APCu是一個緩存擴展,可以緩存並優化PHP中間代碼,強烈建議安裝。
sudo apt -y install php-apcu

然後重啟apache:
sudo systemctl restart apache2

Ⅱ php 能不能編譯的時候一起加入 memcached 擴展

一 安裝libevent

1.去官網http://libevent.org/ 下載最新源碼,我用的是libevent-2.0.20-stable.tar.gz

2.解壓到/usr/src目錄 ,執行命令:sudo tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src

3.進入解壓以後的目錄,用sudo方式執行命令:sudo ./configure --prefix=/usr/local/libevent ; make ; make install

二 安裝memcache

1.去官網 http://memcached.org/ 下最新源碼,我用的是memcached-1.4.15.tar.gz

2.解壓到/usr/src目錄 ,執行命令:sudo tar -zxvf memcached-1.4.15.tar.gz -C /usr/src

3.進入解壓以後的目錄,用sudo方式執行命令:sudo ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent; make ; make install

三 安裝php的memcache擴展

有兩個版本一個是memcache(http://pecl.php.net/package/memcache ),另一個是基於libmemcached的memcached版本(http://pecl.php.net/package/memcached );

網上查的資料是說前一個是原生的,後一個比前一個功能更強大。比較推薦使用基於libmemcahced 庫的memcached擴展。支持memcache提供的CAS操作,穩定性和效率也更好。

這里我使用基於libmemcached 庫的memcached擴展,安裝步驟如下:

首先,安裝libmemcached庫

1.去網址 https://launchpad.net/libmemcached (或者http://libmemcached.org/libMemcached.html )下載源碼,

我用的是libmemcached-1.0.14.tar.gz

2.解壓縮到/usr/src目錄,用sudo方式執行命令:sudo tar -zxvf libmemcached-1.0.14.tar.gz -C /usr/src

3.進入目錄/usr/src/libmemcached-1.0.14/,sudo方式執行命令:./configure ;make;make install (不加--prefix=/usr/local/libmemcached 指定安裝目錄時,libmemcached 默認安裝在/usr/local/,頭文件安裝在/usr/local/include/libmemcachde/,動態庫默認安裝在/usr/local/lib/下。)

4.make時遇到問題:sorry, unimplemented: Graphite loop optimizations can only be used if the libcloog-ppl0 package is installed。解決辦法是修改Makefile,查找並去掉 floop-parallelize-all(應該有兩處需要去掉),看了網上資料說是去掉後表示不使用Graphite loop 優化。

5.再次make,遇到問題:fatal error: sasl/sasl.h: No such file or directory. 在網上搜到的解決辦法是:

Depending on your operating system, you'll need to install the cyrus-sasl development package.

That would be cyrus-sasl-devel on RedHat based distros and libsasl2-dev on Debian based distros IIRC.

我在ubuntu下直接用sudo apt-get install libsasl2-dev 安裝了。

6.編譯還是遇到問題,顯示無法鏈接到sasl的一些文件。問題顯示如下:

undefined reference to `sasl_client_step'
undefined reference to `sasl_dispose'
undefined reference to `sasl_client_start'
undefined reference to `sasl_client_new'

解決辦法是重新執行configure命令,增加相應的參數。sudo執行命令:sudo ./configure --enable-sasl --without-memcached LDFLAGS=-Wl,--as-neede ;make; make install

7.終於安裝libmemcached庫成功了。。。

其次,安裝memcached版本的php擴展

1. 去網址http://pecl.php.net/package/memcached 下載memcached版本,我用的是memcached-2.1.0.tgz

2. 解壓到/usr/src目錄 ,執行命令:sudo tar -zxvf memcached-2.1.0.tgz -C /usr/src

3. 進入解壓以後的目錄,是沒有configure文件的,用sudo方式執行命令來生成:sudo /usr/local/php/bin/phpize

4.遇到問題:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. 網上搜到的解決辦法為:

cd /usr/src
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz
cd m4-1.4.9/
./configure && make && make install
cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install
5.這是再次執行sudo /usr/local/php/bin/phpize,就可以成功生成configure文件了。(phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,官方說明網址為:http://php.net/manual/en/install.pecl.phpize.php)

6.用sudo方式執行命令./configure --with-php-config=/usr/local/php/bin/php-config; make ; make install

7.編譯完成了,還需要做的是在/usr/local/lib/php.ini文件中加入extension值:extension=memcache.so

8.重啟/usr/local/php/sbin/php-fpm程序使配置生效,但是報錯:

ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)

ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'

ERROR: FPM initialization failed

解決辦法為: (1)cd /usr/local/php/etc/; (2)mv php-fpm.conf.default php-fpm.conf

9.重啟仍然出現問題:ERROR: [pool www] cannot get uid for user 'www'。解決辦法為:編輯文件vim /usr/local/php/etc/php-fpm.conf,

把user = nobody group = nobody 中的nobody修改成有效的用戶和用戶組名稱。

Ⅲ php memcached和memcache

這么和你說吧!區分開三種寫法來幫你理解。Memcached、memcached、memcache。
其中首字母大寫的Memcached,指的是Memcached伺服器,就是獨立運行Memcached的後台伺服器,用於存儲數據的「資料庫」。
而memcached和memcache指的是Memcached的客戶端,就是通過memcached或memcache來訪問Memcached伺服器。
在PHP的插件中有一個memcache,還有一個memcached,兩者在用法上不同。
這樣
Memcached::addServer
Memcache::addServer
就應該能理解了吧

memcache是分布式的內存緩存。

Ⅳ php中memcache和memcached有什麼區別

PHP有兩個memcache客戶端:php memcache和php memcached。

memcache完全在PHP框架內開發的,提供了memcached的介面,memecached擴展是使用了libmemcached庫提供的api與memcached服務端進行交互。
memcache提供了面向過程及面向對象的介面,memached只支持面向對象的介面。
memcached 實現了更多的 memcached 協議。
memcached 支持 Binary Protocol,而 memcache 不支持,意味著 memcached 會有更高的性能。不過,還需要注意的是,memcached 目前還不支持長連接。

Ⅳ memcache緩存 如何實現php

php實現memcache緩存示例講解

共享內存是一種在相同機器中的應用程序之間交換數據的有效方式,本文說的是php實現memcache緩存示例,大家參考使用吧

概述
共享內存是一種在相同機器中的應用程序之間交換數據的有效方式。一個進程可創建一個可供其他進程訪問的內存段,只要它分配了正確的許可權。每個內存段擁有一個惟一的 ID(稱為 shmid),這個 ID 指向一個物理內存區域,其他進程可在該區域操作它。創建並提供了合適的許可權之後,同一台機器中的其他進程就可以操作這些內存段:讀取、寫入和刪除。
這表明使用 C 語言編寫的應用程序可與使用其他語言(比如 Java™ 或 PHP)編寫的應用程序共享信息。它們都可以共享信息,只要它們可訪問和理解該信息。共享內存在針對大部分語言的實現中得到了廣泛使用,所以訪問應該不是問題。要理解信息,我們可以使用一種標准格式,比如 XML 或 JSON。
共享內存的使用是一種在進程之間交換數據的快速方法,主要因為在創建內存段之後傳遞數據,不會涉及內核。這種方法常常稱為進程間通信 (IPC)。其他 IPC 方法包括管道、消息隊列、RPC 和套接字。當使用需要彼此通信的應用程序的生態系統時,這種在應用程序之間快速、可靠地交換數據的能力非常有用。取決於生態系統的大小,使用資料庫在應用程序之間交換信息的常用方法常常會導致查詢緩慢,甚至 I/O 阻塞。使用共享內存,沒有 I/O 會減緩開發人員的進度。
本文的提議非常簡單,學習如何使用 PHP 創建和操作共享內存段,使用它們存儲可供其他應用程序使用的數據集。即使沒有使用共享內存交換數據的計劃,它本身也在許多好處,因為它使應用程序能夠遠離 I/O 問題。將數據集直接存儲在內存中具有諸多優勢,從 Web 服務數據緩存到會話共享。它是一個非常有用的概念,每個 PHP 開發人員都應該知道。
共享內存和 PHP
PHP 擁有豐富的可用擴展,共享內存也一樣。使用一些共享的函數,無需安裝任何擴展,開發人員就能夠輕松操作內存段。
創建內存段
共享內存函數類似於文件操作函數,但無需處理一個流,您將處理一個共享內存訪問 ID。第一個示例就是 shmop_open 函數,它允許您打開一個現有的內存段或創建一個新內存段。此函數非常類似於經典的 fopen 函數,後者打開用於文件操作的流,返回一個資源供其他希望讀取或寫入該打開的流的函數使用。讓我們看看清單 1 中的 shmop_open。
清單 1. shmop_open 函數

復制代碼代碼如下:

<?php
$systemid = 864; // System ID for the shared memory segment
$mode = "c"; // Access mode
$permissions = 0755; // Permissions for the shared memory segment
$size = 1024; // Size, in bytes, of the segment

$shmid = shmop_open($systemid, $mode, $permissions, $size);
?>

該函數中出現的第一個事物是系統 ID 參數。這是標識系統中的共享內存段的數字。第二個參數是訪問模式,它非常類似於 fopen 函數的訪問模式。您可以在 4 種不同的模式下訪問一個內存段:
•模式 「a」,它允許您訪問只讀內存段
•模式 「w」,它允許您訪問可讀寫的內存段
•模式 「c」,它創建一個新內存段,或者如果該內存段已存在,嘗試打開它進行讀寫
•模式 「n」,它創建一個新內存段,如果該內存段已存在,則會失敗
第三個參數是內存段的許可權。您必須在這里提供一個八進制值。
第四個參數提供內存段大小,以位元組為單位。在寫入一個內存段之前,您必須在它之上分配適當的位元組數。
請注意,此函數返回一個 ID 編號,其他函數可使用該 ID 編號操作該共享內存段。這個 ID 是共享內存訪問 ID,與系統 ID 不同,它以參數的形式傳遞。請注意不要混淆這兩者。如果失敗,shmop_open 將返回 FALSE。
向內存段寫入數據
使用 shmop_write 函數向共享內存塊寫入數據。此函數的使用很簡單,它僅接受 3 個參數,如清單 2 所示。
清單 2. 使用 shmop_write 向共享內存塊寫入數據

復制代碼代碼如下:

<?php

$shmid = shmop_open(864, 'c', 0755, 1024);
shmop_write($shmid, "Hello World!", 0);
?>

這個函數類似於 fwrite 函數,後者有兩個參數:打開的流資源(由 fopen 返回)和您希望寫入的數據。shmop_write 函數也執行此任務。
第一個參數是 shmop_open 返回的 ID,它識別您操作的共享內存塊。第二個參數是您希望存儲的數據,最後的第三個參數是您希望開始寫入的位置。默認情況下,我們始終使用 0 來表示開始寫入的位置。請注意,此函數在失敗時會返回 FALSE,在成功時會返回寫入的位元組數。

從內存段讀取數據
從共享內存段讀取數據很簡單。您只需要一個打開的內存段和 shmop_read 函數。此函數接受一些參數,工作原理類似於 fread。參見清單 3,讀取一個 PHP 文件的內容。
清單 3. 使用 shmop_read 讀取一個文件的內容

復制代碼代碼如下:

<?php

$stream = fopen('file.txt', 'r+');
fwrite($stream, "Hello World!");
echo fread($stream, 11);
?>

讀取共享內存段的內容的過程與此類似,如清單 4 所示:
清單 4. 讀取共享內存段的內容

復制代碼代碼如下:

<?php

$shmid = shmop_open(864, 'c', 0755, 1024);
shmop_write($shmid, "Hello World!", 0);
echo shmop_read($shmid, 0, 11);
?>

請留意這里的參數。shmop_read 函數將接受 shmop_open 返回的 ID,我們已知道它,不過它還接受另外兩個參數。第二個參數是您希望從內存段讀取的位置,而第三個是您希望讀取的位元組數。第二個參數可以始終為 0,表示數據的開頭,但第三個參數可能存在問題,因為我們不知道我們希望讀取多少位元組。
這非常類似於我們在 fread 函數中的行為,該函數接受兩個參數:打開的流資源(由 fopen 返回)和您希望從該流讀取的位元組數。使用filesize 函數(它返回一個文件中的位元組數)來完整地讀取它。
幸運的是,當使用共享內存段時,shmop_size 函數返回一個內存段的大小(以位元組為單位),類似於 filesize 函數。參見清單 5。
清單 5. shmop_size 函數返回內存段大小,以位元組為單位

復制代碼代碼如下:

<?php

$shmid = shmop_open(864, 'c', 0755, 1024);
shmop_write($shmid, "Hello World!", 0);
$size = shmop_size($shmid);
echo shmop_read($shmid, 0, $size);
?>

回頁首
刪除內存段
我們學習了如何打開、寫入和讀取共享內存段。要完成我們的 CRUD 類,我們還需要學習如何刪除內存段。該任務可使用 shmop_delete 函數輕松完成,該函數僅接受一個參數:我們希望刪除的共享內存 ID。
清單 6. shmop_delete 標記要刪除的內存段

復制代碼代碼如下:

<?php

$shmid = shmop_open(864, 'c', 0755, 1024);
shmop_write($shmid, "Hello World!", 0);
shmop_delete($shmid);
?>

這不會實際刪除該內存段。它將該內存段標記為刪除,因為共享內存段在有其他進程正在使用它時無法被刪除。shmop_delete 函數將該內存段標記為刪除,阻止任何其他進程打開它。要刪除它,我們需要關閉該內存段。
關閉內存段
打開一個共享內存段會 「附加」 到它。附加該內存段之後,我們可在其中進行讀取和寫入,但完成操作後,我們必須從它解除。這使用清單 7 中的 shmop_close 函數來完成。
這非常類似於處理文件時的 fclose 函數。打開包含一個文件的流並在其中讀取或寫入數據後,我們必須關閉它,否則將發生鎖定。
清單 7. 使用 shmop_close 與一個內存段分開

復制代碼代碼如下:

<?php

$shmid = shmop_open(864, 'c', 0755, 1024);
shmop_write($shmid, "Hello World!", 0);
shmop_delete($shmid);
shmop_close($shmid);
?>

使用共享內存作為一個存儲選項
有了共享內存和共享內存段上基本 CRUD 操作的基本知識,是時候應用此知識了。我們可以使用共享內存作為一種獨特的存儲選項,提供快速讀/寫操作和進程互操作性等優勢。對於 Web 應用程序,這意味著:
•緩存存儲(資料庫查詢、Web 服務數據、外部數據)
•會話存儲
•應用程序之間的數據交換
在繼續之前,我想介紹一個名為 SimpleSHM 小型庫。SimpleSHM 是一個較小的抽象層,用於使用 PHP 操作共享內存,支持以一種面向對象的方式輕松操作內存段。在編寫使用共享內存進行存儲的小型應用程序時,這個庫可幫助創建非常簡潔的代碼。要了解 SimpleSHM,請訪問GitHub 頁面。
您可以使用 3 個方法進行處理:讀、寫和刪除。從該類中簡單地實例化一個對象,可以控制打開的共享內存段。清單 8 展示了基本用途。
清單 8. SimpleSHM 基本用途

復制代碼代碼如下:

<?php

$memory = new SimpleSHM;
$memory->write('Sample');
echo $memory->read();
?>

請注意,這里沒有為該類傳遞一個 ID。如果沒有傳遞 ID,它將隨機選擇一個編號並打開該編號的新內存段。我們可以以參數的形式傳遞一個編號,供構造函數打開現有的內存段,或者創建一個具有特定 ID 的內存段,如清單 9 所示。
清單 9. 打開一個特定的內存段

復制代碼代碼如下:

<?php

$new = new SimpleSHM(897);
$new->write('Sample');
echo $new->read();
?>

神奇的方法 __destructor 負責在該內存段上調用 shmop_close 來取消設置對象,以與該內存段分離。我們將這稱為 「SimpleSHM 101」。現在讓我們將此方法用於更高級的用途:使用共享內存作為存儲。存儲數據集需要序列化,因為數組或對象無法存儲在內存中。盡管這里使用了 JSON 來序列化,但任何其他方法(比如 XML 或內置的 PHP 序列化功能)也已足夠。清單 10 給出了一個示例。
清單 10. 使用共享內存作為存儲

復制代碼代碼如下:

<?php

require('SimpleSHM.class.php');
$results = array(
'user' => 'John',
'password' => '123456',
'posts' => array('My name is John', 'My name is not John')
);
$data = json_encode($results);
$memory = new SimpleSHM;
$memory->write($data);
$storedarray = json_decode($memory->read());
print_r($storedarray);
?>

我們成功地將一個數組序列化為一個 JSON 字元串,將它存儲在共享內存塊中,從中讀取數據,去序列化 JSON 字元串,並顯示存儲的數組。這看起來很簡單,但請想像一下這個代碼片段帶來的可能性。您可以使用它存儲 Web 服務請求、資料庫查詢或者甚至模板引擎緩存的結果。在內存中讀取和寫入將帶來比在磁碟中讀取和寫入更高的性能。
使用此存儲技術不僅對緩存有用,也對應用程序之間的數據交換也有用,只要數據以兩端都可讀的格式存儲。不要低估共享內存在 Web 應用程序中的力量。可採用許多不同的方式來巧妙地實現這種存儲,惟一的限制是開發人員的創造力和技能

Ⅵ php怎麼開啟memcache

下載memcache安裝包和php擴展文件php_memcache.dll。解壓memcache,把memcached移動到C盤。

單擊開始菜單,運行「cmd」。
cd .. //進入c盤
cd memcached //進入memcache目錄
memcache.exe -d install //安裝memcache服務

設置php:找到php安裝目錄,打開php.ini文件。找到配置文件里允許支持擴展的區域exetension=。。,添加一行exetension=php_memcache.dll。

把php擴展文件php_memcache.dll移動到php安裝目錄下的ext目錄下。注意在php.ini中要設置好exetension目錄。php_memcache.dll此文件需要先在網上下載下來!

設置apache:
打開apache配置文件httpd.conf,找到LoadMole載入模塊區域。去掉前面的「LoadMole mem_cache_mole moles/mod_mem_cache.so」#號

重啟apache服務。linux下重啟使用命令:service httpd restart。

然後就大功告成!

Ⅶ 如何在Ubuntu 12.04上安裝和使用Memcache

如何在Ubuntu 12.04上安裝和使用Memcache
關於Memcache
Memcache通過緩存伺服器信息的方式來加速伺服器處理能力的系統。Memcache分配一塊伺服器上的內存來緩存一段特定時間之內的最近的查詢數據。一旦某個數據被再次請求,那麼Memcache就直接從內存中返回這個數據,而不是從資料庫中,所以這將會加速查詢速度。
安裝
安裝前需要用戶具有root許可權。開始安裝前,首先更新系統。
sudo apt-get update
另外,還需要安裝MySQL和PHP。
sudo apt-get install mysql-server php5-mysql php5 php5-memcache
安裝Memcache
首先安裝Memcache。
sudo apt-get install memcached
接著安裝php-pear(PHP擴展和應用庫)。
sudo apt-get install php-pear
如果沒有安裝編譯器,需要安裝build-essential。
sudo apt-get install build-essential
最後使用PECL(PHP擴展社區庫)來安裝Memcache。
sudo pecl install memcache
安裝完成後,向memcache.ini文件中添加memcached:
echo "extension=memcache.so" | sudo tee /etc/php5/conf.d/memcache.ini
現在可以開始使用Memcache了。
確認Memcache並查看其狀態
Memcache運行後,可以通過以下命令查看。
ps aux | grep memcache
另外,還可以查看Memcache的狀態。
echo "stats settings" | nc localhost 11211
Memcache如何工作的?
Memcache可以直接通過代碼來實現從緩存中獲取查詢數據。Memcache獲取數據的過程如下:
function get_foo(foo_id)
foo = memcached_get("foo:" . foo_id)
return foo if defined foo
foo = fetch_foo_from_database(foo_id)
memcached_set("foo:" . foo_id, foo)
return foo
end
簡單的Memcache實例
研究一個簡單的php腳本,該腳本使用Memcache來獲取mysql表中的一個值。
首先登錄到mysql,創建一個表,查詢一些數據。
登錄到mysql: mysql -u root -p
執行下面命令:
use test;
grant all on test.* to test@localhost identified by 'testing123';
create table example (id int, name varchar(30));
insert into example values (1, "new_data");
exit;
退出MySQL後,創建Memcache腳本文件。
nano memtest.php
詳細研究一下memtest.php的腳本文件。
首先創建與Memcache的長連接,使用Memcache的默認埠,11211。
<?php
$meminstance = new Memcache();
$meminstance->pconnect('localhost', 11211);
然後連接到MySQL資料庫
mysql_connect("localhost", "test", "testing123") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
接著創建查詢,然後設置一個標識特定行為的key。
$query = "select id from example where name = 'new_data'";
$querykey = "KEY" . md5($query);
腳本首先查詢緩存,如果結果不存在,則腳本再向原始資料庫查詢。一旦從原始資料庫查詢到結果,則腳本在Memcache中存儲查詢的結果,另外還可以設置緩存的有效期,即表示在這個有效期內,查詢結果一直保持在緩存中(有效期一般是600秒)。
當首次運行腳本時,數據將會從MySQL資料庫中獲取到,此後這些數據會存儲到緩沖中,這樣第二次查詢時,數據就是從緩存中獲取的。
10分鍾後,緩存會被再次清空,再次運行腳本,數據就會從資料庫中獲取。
$result = $meminstance->get($querykey);
if (!$result) {
$result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
$meminstance->set($querykey, $result, 0, 600);
print "got result from mysql\n";
return 0;
}
print "got result from memcached\n";
return 0;
?>
以下是整個的腳本代碼:
<?php
$meminstance = new Memcache();
$meminstance->pconnect('localhost', 11211);
mysql_connect("localhost", "test", "testing123") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$query = "select id from example where name = 'new_data'";
$querykey = "KEY" . md5($query);
$result = $meminstance->get($querykey);
if (!$result) {
$result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
$meminstance->set($querykey, $result, 0, 600);
print "got result from mysql\n";
return 0;
}
print "got result from memcached\n";
return 0;
?>
運行腳本的執行結果:
# php memtest.php
got result from mysql
# php memtest.php
got result from memcached
# php memtest.php
got result from memcached

Ⅷ 如何讓php環境支持memcache

你是windows 還是linux ,如果linux需要在下載一個libevent插件去支持memcahe.我估計你是windwos.如果有需要Linux 再聯系我,下面我說下Windows的安裝方法:
1. 下載memcache的windows穩定版,解壓放某個盤下面,比如在c:\memcached
2. 在終端(也即cmd命令界面)下輸入 『c:\memcached\memcached.exe -d install』 安裝
3. 再輸入: 『c:\memcached\memcached.exe -d start』 啟動。NOTE: 以後memcached將作為windows的一個服務每次開機時自動啟動。這樣伺服器端已經安裝完畢了。
4.下載php_memcache.dll,請自己查找對應的php版本的文件
5. 在C:\winnt\php.ini 加入一行 『extension=php_memcache.dll』
6.重新啟動Apache,然後查看一下phpinfo,如果有memcache,那麼就說明安裝成功!

Ⅸ ubuntu怎麼安裝nginx+mysql+php

1、更新 1 sudo apt-get update 2、安裝nginx 1 sudo apt-get intsall nginx Ubuntu安裝之後的文件結構大致為: * 所有的配置文件都在/etc/nginx下,並且每個虛擬主機已經安排在了/etc/nginx/sites-available下 *程序文件在/usr/sbin/nginx * 日誌放在了/var/log/nginx中 *並已經在/etc/init.d/下創建了啟動腳本nginx * 默認的虛擬主機的目錄設置在了/var/www/nginx-default 下面可以啟動nginx來看看效果(請確保80埠沒有其他服務在使用): 1 sudo /etc/init.d/nginx start #或者簡單的 1 service nginx start 然後打開瀏覽器,查看localhost/ 看看是否看到了」Welcome to nginx!」 如果看到了,說明安裝成功. 當然,基本上,這塊兒都不會出問題. 如果運行不成功,可以先 1 sudo killall apache2 殺掉apache進程 3、安裝php sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl 4、安裝spawn-fcgi 為什麼要安裝spawn-fcgi呢,它用來控制php-cgi進程,以防止進程崩潰或是單進程的效率太低. 網上很多人都說要使用spawn-fcgi必須得安裝lighttpd,實際上不必要,可以直接安裝spawn-fcgi 運行: 1 sudo apt-get install spawn-fcgi 5、配置 接下來就是最讓人頭疼的配置. 配置Nginx和spawn-fcgi配合運行 (1).在/etc/nginx/fastcgi_params 文件最後,加入一行,可以用 1 sudo vi /etc/nginx/fastcgi_params 加入此行: 1 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; (2).另外需要在PHP-CGI的配置文件(Ubuntu 上此配置文件位於/etc/php5/cgi/php.ini)中,找到cgi.fix_pathinfo選項,修改為: 1 cgi.fix_pathinfo=1; 這樣php-cgi方能正常使用SCRIPT_FILENAME這個變數. (3).打開/etc/nginx/sites-available/default文件在 1 2 3 server { listen 80; server_name localhost; 下面添加web根目錄的絕對地址,這里是使用的是nginx的默認地址 1 root /var/www/nginx-default 即root和server_name同級這段即相當於apache的默認目錄 如果沒有這個的話,容易在執行php 文件的時候,會提示」No input file specified」. 我就曾在此繞了好大個圈子才發現問題.然後修改 1 2 3 4 5 6 #location ~ .php$ { #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #includefastcgi_params; #} 修改成 1 2 3 4 location ~ .php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name; include /etc/nginx/fastcgi_params; #包含fastcgi的參數文件地址 6、開始fast_cgi進程 1、sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid 7、設置開機啟動fastcgi進程並啟動 1 sudo vi /etc/rc.local 添加下一行 1 /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid 如果打開php文件出現:No input file specified請檢查php.ini的配置中 1 cgi.fix_pathinfo=1 1 doc_root= 還有,每個虛機要根據自己不同的虛機設置不同的目錄,要保證這個路徑正確. 檢查/etc/nginx/sites-available下的配置文件中,server內包含 root 及地址 而非location內的root 啟動 1 fast-cgisudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid 參數含義如下 * -f 指定調用FastCGI的進程的執行程序位置,根據系統上所裝的PHP的情況具體設置 * -a 綁定到地址addr * -p 綁定到埠port * -s 綁定到unix socket的路徑path * -C 指定產生的FastCGI的進程數,默認為5(僅用於PHP) * -P指定產生的進程的PID文件路徑 * -u和-g FastCGI使用什麼身份(-u 用戶 -g 用戶組)運行,Ubuntu下可以使用www-data,其他的根據情況配置,如nobody、apache等現在可以在web根目錄下放個探針或php文件測試一下了 8、安裝mysql 1 sudo apt-get install mysql-server mysql-client 中間會提示輸入Root用戶密碼,依次輸入即可. 啟動MySQL 1 sudo /etc/init.d/mysql start 測試mysql服務是否正常: 運行 1 mysql -uroot -p 輸入mysql密碼 1 show databases; 如果看到下面的內容 Database information_schema mysql 則mysql已正確安裝了. 至此,ubuntu下的nginx+php+mysql就安裝完成了.

Ⅹ php 中的 memcache 是什麼 怎麼用的 越詳細越好,求大神 在線等

memcache 是一種緩存伺服器軟體,安裝了該軟體的電腦,即可稱為 緩存伺服器。

memcache 緩存伺服器是用來緩解 關系型資料庫(例如 Mysql)負載壓力的,第一次訪問 mysql資料庫(select)後,得到的數據放到緩存伺服器里,設定個生命周期(例如7天),然後7天內所有訪問該數據的語句就不用再到數據里查詢了,直接從緩存伺服器里取。

而你所問的 php中的 memcache 是一種客戶端,客戶端是用來訪問服務端的(例如用IE瀏覽器訪問網站,IE瀏覽器就是客戶端)。再說具體點,php中的 memcache 就是一種擴展,在php安裝目錄的 php.ini 配置文件里開啟 memcache 擴展後,你就能 用 memcache類實例對象,用memcache對象的各種方法來訪問 memcache伺服器。

例:

<?php
$mem = new Memcache();//實例化一個對象
//$mem->connect("ip地址",埠號);//連接memcache伺服器
$mem->connect("localhost",11211);//連接memcache伺服器
//添加數據,如果鍵名已經存在,則添加失敗
$res = $mem->add('name','xiaoqian',MEMCACHE_COMPRESSED,3600);
var_mp($res);
//獲取數據
$str = $mem->get('name');
var_mp($str);
?>

詳細的怎麼開啟擴展後續什麼的,你在這個我上傳的word文檔里看看就行了

閱讀全文

與ubuntuphpmemcache相關的資料

熱點內容
量子加密銀行 瀏覽:193
命令方塊獲得指令手機 瀏覽:499
學習結束感言簡短程序員 瀏覽:398
android關機鬧鍾實現 瀏覽:968
滑鼠一鍵打開文件夾設置 瀏覽:161
程序員看過來我想靜靜搞笑視頻 瀏覽:370
curlphp爬蟲 瀏覽:874
python按日期循環 瀏覽:110
php三個等號 瀏覽:760
培訓班出來的程序員解決問題很差 瀏覽:963
程序員那麼可愛25集 瀏覽:753
伺服器地址和ip地址一樣不 瀏覽:664
php中括弧定義數組 瀏覽:602
php列印堆棧 瀏覽:516
華為adb命令行刷機 瀏覽:965
人像攝影pdf 瀏覽:761
解壓文件密碼怎樣重新設置手機 瀏覽:1002
高考指南pdf 瀏覽:695
爬蟲python數據存儲 瀏覽:240
u盤怎麼取消加密 瀏覽:431