php7memcached
Ⅰ centos的php7怎麼安裝memcached擴展
最近試了一下PHP7,在編譯和支持Mysql上都遇到一些問題,相信不少同學也同樣遇到,所以在這里聊一下這個過程。簡單來講編譯PHP7隻需要3步: 1、./buildconf --force 2、./configure 3、make && make install 1、3步,都沒啥好管的,configure是編譯的關鍵,涉及到PHP對一些庫的支持,這里我們使用最小的支持,包括MySQL: curl gd fpm mysqlnd 之所以把curl和gd拿來說,目的是要搞清楚,這些三方庫在編譯PHP之前得安裝好,可以直接使用yum安裝在默認位置,也可以編譯安裝到指定位置,yum安裝後,編譯時不用指定庫的安裝位置,關於安裝這些庫,可以搜索一下有很多。下面看看基本的configure ./configure --prefix=/apps/php/php7.0 --enable-mbstring --with-curl --with-gd --with-config-file-path=/apps/php/php7.0/etc/ -- enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd PHP-FPM 關於fpm,相信不用多說,用它來支持PHP是一個比較好的選擇,PHP5.3.3開始就已經內置了php-fpm,所以PHP7里當然也有,只需要--enable-fpm一下就可以了 php-fpm參數: --start 啟動 --stop 強制終止 --quit 平滑終止 --restart 重啟 --reload 重新平滑載入php的php.ini --logrotate 重新啟用log文件 MySQL支持 重點講一下這個,因為在它上面花了一點時間,不知道從哪一版本開始,PHP不在希望使用mysql的庫來支持mysql的連接,啟用了mysqlnd來支持,聽說比libmysql要快很多,PHP5.x還可以使用libmysql,PHP7貌似已經取消了支持,編譯都沒有了--with-mysql參數,只支持--with-mysqli和--with-pdo-mysql,可以通過查看configure的參數來知道: ./configure -help grep mysql 可以看到,PHP希望使用mysqlnd來支持MySQL,所以參數可以這樣寫: --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd mysqlnd是不需要mysql支持的,所以不用先安裝好mysql一樣可以編譯通過,啟動php-fpm,查看一下phpinfo,能看到mysqlnd和pdo_mysql表示php已經可以支持mysql了(這里用的是pdo,mysqli同理) 幾個問題 編譯問題:cc: Internal error: Killed (program cc1) 這個問題是第一次遇到,原來是我的阿里雲伺服器關掉了swap,內存不夠用,就報了這個錯。 解決辦法很簡單,configure時加上--disable-fileinfo參數就可以了。 PHP報找不到mysql服務 正如它所說,確實沒找到,看看phpinfo中pdo_mysql.default_socket項 mysql.sock在哪裡,再看一下mysql.sock的真正位置,使用命令:ps -efgrep mysql查看: 明顯不在一個位置上,我的正確位置是:/var/lib/mysql/mysql.sock 所以,修改一下php.ini,找到pdo_mysql.default_socket,改為你的實際位置,重啟一下php-fpm,很不幸,雖然php.ini有這個配置,修改後,竟然不行,最好是編譯的時候,指定mysql.socket的位置: --with-mysql-sock=/var/lib/mysql/mysql.sock 如果還不行,可以到/tmp目錄下建立一個mysql.sock的軟鏈接: ln -s /var/lib/mysql/mysql.sock mysql.sock 再重啟一次php-fpm,相信已經正常運行了。如果需要PHP支持的庫更多,可以再次編譯,在configure時把需要的支持加上,就是--with-xxx這中,記得如果是三方的,要先安裝這些庫才行哦。
Ⅱ linux php7 安裝 memcached 改哪個配置文件
1、php7安裝Memcached擴展
比如說我現在使用了最新的 Ubuntu 16.04,雖然內置了 PHP 7 源,但 memcached 就還沒有,不過好在,它已經支持了 PHP 7 ,只是沒有源而已,我們手動編譯它。
要安裝 memcached,需要先安裝依賴庫 libmemcached
從 這里 找到最新的 libmemcached 源碼包,然後下載。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18/
./configure
make && make install
安裝好依賴庫之後,我們來安裝 memcached :
從 github 克隆 memcached 後,需要手動切換到 php7 分支,不然會提示 fatal error : ext / standard / php_smart_str . h : No such file or directory 錯誤。
git clone https://github.com/php-memcached-dev/php-memcached
Ⅲ 誰有php7的memcached.dll
想運行這個文件,先保存成.py文件,然後使用右鍵中的IDLE運行。具體步驟如下:
1. 打開一個txt,然後粘貼你的內容
2. 粘貼完畢後,單擊保存,保存時,注意保存類型一定是「所有文件」,且後綴一定為.py,例如:test.py
3. 在test.py上單擊右鍵,選擇「使用IDLE編輯」(我的是英文系統,英文系統的選項是: Edit with IDLE)
4. 然後會打開的兩個編輯器,都很像單步運行的IDLE,只是沒有了「>>>」,然後在有代碼的編輯器上按下F5,或者選擇Run -> Run Mole.
5. 運行的結果會顯示在另一個空白的IDLE上。。。
Ⅳ 誰有php7的memcached.dll
這么和你說吧!區分開三種寫法來幫你理解。Memcached、memcached、memcache。其中首字母大寫的Memcached,指的是Memcached伺服器,就是獨立運行Memcached的後台伺服器,用於存儲數據的「資料庫」。而memcached和memcache指的是Memcached的客戶端,就是通過memcached或memcache來訪問Memcached伺服器。在PHP的插件中有一個memcache,還有一個memcached,兩者在用法上不同。這樣Memcached::addServerMemcache::addServer就應該能理解了吧memcache是分布式的內存緩存。
Ⅳ php memcached怎麼用
memcached是一種緩存技術, 基於c/s模式,他可以把你的數據放入內存,從而通過內存訪問提速,因為內存最快的, memcached技術的主要目的提速,
在memachec 中維護了一張大的hashtable表 ,該表是在內存,表的結構是
key value
字串 (字串,數值,數組,對象,布爾,二進制數據,null)
u 安裝並使用memcached
安裝步驟
(1) 下載memcached軟體
(2) 安裝
進入cmd ,切換到 memcached.exe 文件所在目錄
memcached.exe –d install
(3) 啟動memcached
第一種,可以到服務點擊啟動
第二種, 命令行
memcached.exe –m 200MB –d start 【以deamon方式啟動,默認64M】
如果你在啟動時,win7啟動不成功, 則可以使用如下方法
memcached.exe –p 埠號
轉載,僅供參考。
Ⅵ php7無法安裝memcache擴展 系統 centos-6.8 Nginx-1.10.2 PHP-7.0.13/5.6.28 memcached-1.4
一 下載需要的源碼包
所有安裝包均選用最新的。
1. 下載libevent2.0.22
點擊紅色部分下載
下載memcached1.4.24
點擊紅色部分,下載最新版本
下載php擴展memcache3.0.8
選擇需要的版本
二 安裝詳細步驟
首先將以上三個軟體包下載到/tmp目錄下
1. 安裝libevent
cd /tmp #首先進入到該下載包的目錄
tar zxvf libevent-2.0.22-stable.tar.gz #解壓包cd libevent-2.0.22-stable #進入到解壓的目錄./configure --prefix=/usr/local #編譯前配置,生成Makefile文件,路徑可自行更改make; make install #編譯+安裝
1
測試是否安裝成功
看到這些信息,表示成功啦
2. 安裝memcached
cd /tmp #首先進入到該下載包的目錄
tar zxvf memcached-1.4.24.tar.gz #解壓包
cd memcached-1.4.24 #進入到解壓的目錄
./configure –with-libevent=/usr/local #編譯前配置,生成Makefile文件,路徑必須與libevent中一致make; make install #編譯+安裝
1
測試是否安裝成功
表示成功的信息
通過以上操作,就完成了memcached伺服器的安裝。特別的簡單吧!現在就來搞一搞memcache的php擴展安裝吧3. 安裝擴展
cd /tmp #首先進入到該下載包的目錄
tar zxvf memcache-3.0.8.tgz #解壓包
cd memcache-3.0.8 #進入到解壓的目錄
/opt/lampp/bin/phpize #動態為php添加擴展。phpize路徑可能不一致,請根據自己的實際情況./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config請根據自己環境情況填寫make; make install #編譯+安裝
1
完成以上步驟時,心情愉悅的點擊了enter,准備喝口水瀟灑一下,結果出現了一下錯誤(這也是我寫這篇博客的原因,要不都懶得記錄了)錯誤信息
看了下代碼錯誤信息,說是zlib.h找不到。找不到就給他安一個嘛。真是的安裝zlib
下載zlib-1.2.8.tar.gz
下載地址:http://www.zlib.net/
如圖:
紅色部分點擊
cd /tmp #首先進入到該下載包的目錄
tar zxvf zlib-1.2.8.tar.gz #解壓包
cd zlib-1.2.8 #進入到解壓的目錄
./configure --prefix=/usr/local/zlib
make; make install #編譯+安裝
1
再進行配置一下系統的文件,載入剛才編譯安裝的zlib生成的庫文件vi /etc/ld.so.conf.d/zlib.conf
加入如下內容後保存退出: /usr/local/zlib/lib也就是添加安裝目錄的文件路徑,庫文件。ldconfig 運行之後就會載入安裝的庫文件了。
OK,到這一步了,此時,重新在memcache的php擴展中執行make;make install命令如果看到以下信息,表示成功:
擴展安裝成功
三 配置php.ini文件
首先通過phpinfo函數,找到php.ini的路徑,我的是:/opt/lampp/etc/php.ini在其中添加如下內容:
修改extension_dir路徑:
extension_dir = 「/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/」
extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然後重新啟動apache,再次通過phpinfo查看一下情況。如果有如下內容,表示配置成功:
信息
四 配置memcached伺服器
啟動memcached伺服器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid參數說明:
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,-u是運行Memcache的用戶,我這里是root,
-l是監聽的伺服器IP地址,如果有多個地址的話,我這里指定了伺服器的IP地址127.0.0.1,-p是設置Memcache監聽的埠,我這里設置了11211,最好是1024以上的埠,-c選項是最大運行的並發連接數,默認是1024,我這里設置了256,按照你伺服器的負載量來設定,-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid2. 結束memcached進行
kill cat /tmp/memcached.pid
3. 檢查memcached是否已經啟動
看到綠色框中內容,就表示完成
五 測試php的memcache擴展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);$val = $mem->get('key');
echo $val;
?>
寫在後面:大家有興趣可以將session改為使用memcache來保存。php自身使用文件的方式,不太好,動不動文件大小總和就上G了。
Ⅶ centos的php7怎麼安裝memcached擴展
Install the apache:
yum install httpd httpd-devel
apache:
\\\/etc\\\/init.d\\\/httpd start
start at the input IP address of the server, should see the Apache service page, do not lose the default Apache port, is the use of 80 port
mysql:
yum install MySQL mysql-server
mysql:
\\\/etc\\\/init.d\\\/mysqld to install start
to install php
yum install PHP start php-devel
Apache
\\\/etc\\\/init.d\\\/httpd restart
to enable PHP to restart this can be in the directory: the establishment of a PHP file
\\\/var\\\/www\\\/html\\\/:
code and access to this file, you can see some of the information PHP, php.ini configuration file path can be seen after
is installed PHP install php-mysql php-gd php-imap php-ldap擴展
百勝PHP PHP PHP PHP XML ODBC梨XMLRPC
此頁面上的拓展需要重啟Apache
\\ \/ \\ \/初始化後等。D \/重啟
再次測試是否連接成功的MySQL PHP代碼
對美元mysql_connect(\\「10。@。@ @ \\」@ @ @ @ \\「\\」);
如果(美元騙局!)
(「{不連接:mysql_error。」());}
mysql_select_db(MyDB,$ CON);
$result = mysql_query(「SELECT * FROM sys_user \\」);
而($行= mysql_fetch_array($結果))
{
echo $行[ 'username ]。\\「\\」$行[ 'password ] \\「\\」。$行[ 'id' ]。
回聲。;「
」};
mysql_close
($ CON);?>