標籤:
一.客觀情況:
1.ubuntu上內建的是php7的環境,項目運行有問題。
2.網上找了方法換成php5,沒有memcache擴充,自己又不會裝
3.還有其他很多擴充沒有裝
二.人為因素:
我是個小白,白到php5上裝個memcache擴充都不會
三.解決過程
話說ubuntu內建的一鍵安裝還是很不錯的:
一鍵安裝LAMP服務(在終端執行以下命令):
sudo tasksel install lamp-server
一鍵卸載LAMP(在終端執行命令):
sudo tasksel remove lamp-server
通過上面的命令卸載Lamp時不免把Linux系統本身的東西卸載掉了,因此,在卸載LAMP後一定記著使用下邊的命
令更新一下系統:
sudo apt-get update
sudo apt-get upgrade
刪除了ubuntu內建的php7環境之後,安裝了phpstudy也是很出色的軟體,然而在我的電腦上apache安裝失敗,由於時間緊迫,必須趕快搭建好環境,所以沒有去研究怎麼回事(更重要的是我的能力不行),花去我一個多小時吧,那時候已經快哭了
最後選擇了Integration Environmentxampp.
經過一番折騰,xampp安裝好了,最後的就差memcache了.
反正是曲曲折折,最後安裝好了,這裡就不囉嗦了.
四.學到的知識
1.php的擴充memcache 在解壓tar包後的目錄中,是沒有configure檔案的,要phpize之後才有
2.phpize,phpize是用來擴充php模組的,通過phpize可以簡曆php的外掛模組
3.用phpize時候,要在擴充的目錄中,否則會找不到config.m4--->Cannot find config.m4.
4.phpize需要autoconf,autoconf需要m4
5.php安裝必須按照這個順序,不然很多坑 zlib -> freetype -> libxml2 -> libpng -> libgd2 -> libmcrypt
五.錯誤提示和解決
執行:./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
1.報錯:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.(就是在這裡我糾結了好久,還是英語不行T_T)
解決:
1 wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz2 tar -zvxf m4-1.4.9.tar.gz3 cd m4-1.4.9/4 ./configure && make && make install5 cd ../6 wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz7 tar -zvxf autoconf-2.62.tar.gz8 cd autoconf-2.62/9 ./configure && make && make install
2.報錯:/home/memcache-3.0.8/memcache_pool.c:26:18: fatal error: zlib.h: 沒有那個檔案或目錄
這種情況是沒有zlib庫導致的,這也就是我說的不按照順序留下的坑,可是我是xampp沒辦法
ubuntu下我 apt-get install zlib 在tab兩下就都出來了
最後執行的是 apt-get install zlib* 選中了好幾個,管他呢,先搭好環境再說
解決:apt-get install zlib*
或者,安裝源碼包,這裡我沒試
安裝參考:
http://www.cnblogs.com/yangxia-test/p/4195222.html
這裡複製:
安裝環境:CentOS 6.4
php擴充memcache的作用是為了支援memcached資料庫快取服務器,下面是安裝方法。
1、下載
:http://pecl.php.net/package/memcache
檔案名稱:memcache-3.0.8.tgz
檔案下載成功後上傳至/usr/local目錄
2、安裝
[[email protected] local]# tar -zxvf memcache-3.0.8.tgz
[email protected] local]# cd memcache-3.0.8
[[email protected] memcache-3.0.8]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
[[email protected] memcache-3.0.8]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
[[email protected] memcache-3.0.8]# make
[[email protected] memcache-3.0.8]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
[[email protected] memcache-3.0.8]# ll /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
total 2140
-rwxr-xr-x. 1 root root 453766 Dec 30 17:44 memcache.so
-rwxr-xr-x. 1 root root 861055 Dec 30 16:47 redis.so
出現memcache.so就表明安裝成功了
3、配置支援php
[[email protected] memcache-3.0.8]# vi + /usr/local/php/lib/php.ini
添加
extension=memcache.so
:wq! #儲存退出
4、重啟服務
[[email protected] memcache-3.0.8]# /usr/local/apache2/bin/apachectl restart
查看phpinfo可以看到支援了
memcache(我就是在這裡下載的)
http://pecl.php.net/package/memcache
感想,這次環境搭建的真是坎坷曲折,本來是換回windows系統的,再上面裝了個phpstudy結果有問題,重裝了還是不行,各種不爽.最後還是換回了ubuntu.他還老給我死機T_T
自己差的還真不是一點半點鐘,距離一個合格的php程式員還差的很多很多,以前總是按照網上的命令複製粘貼,很少去理解他的意思.
以後要細心的學習,還有關於php-config我大概看了一下,configure應該就是根據這個檔案去吧擴充(.so檔案)裝到對應的目錄的,關於這個檔案還要深入的學習.
工作也有一年多了,對於自己用的語言還是知道的這麼少,我感到很慚愧,要學的東西還有很多,這裡給自己加油!(^ω^)
ubuntu16.04上 安裝xampp的php擴充memcache