Ubuntu14-04安装redis和php5-redis扩展
最近Ubuntu11被玩坏了,因为装个php5-redis找不到安装包引起的问题,在segmentfault上提问(http://segmentfault.com/q/1010000000735952)也没有真正得到解决。
所以将系统换成最新的Ubuntu14,之前把环境什么都配置好了的,就连php5-redis都是安装好了的,但是因为昨晚上弹出作死的系统更新,手贱选择了几个软件更新,结果就,走在马路边~~~,不要轻易更新啊!
PS:在系统安装完后最好执行下列命令更新下软件
sudo apt-get update
实际上只要软件源没什么问题的话,安装什么软件都是OK的。
来开始安装redis吧~~
一:如果你的其他都OK的话,可以执行下列命令直接安装
sudo apt-get install redis-server
sudo apt-get install php5-redis
这样安装是理想的方式,也是最简便的方式
可是,人生不如意总有八九
比如什么找不到安装包啊、比如缺少什么依赖啊
那就要麻烦一点了
二:作死法,麻烦死,当然这就是Geek精神
1、安装redis服务
sudo apt-get install redis-server
一般情况下上面redis-server是能够正确安装的,我反正就是这样安装上的。
如果是在不行就可以参照oschina上的这篇
安装完成后可以
ps aux | grep redis
查看redis服务是否启动
if (没有启动)<pre style="font-family:Monaco,Consolas,Courier,'Lucida Console',monospace" class="n"> sudo service redis-server start
如果启动了然后可以
redis-cli
进入redis的命令行(127.0.0.1:6379: >就这样样子),这下你就可以尽情的玩了,可是不php结合起来你确定你能玩的很尽兴,还是耽搁几分钟来装个php扩展吧
2、安装php扩展
下载redis扩展:wget https://github.com/nicolasff/phpredis/zipball/master -O php-redis.zip
解压缩:unzip php-redis.zip
进入目录:cd php-redis
运行:phpize (ps:这个是php-dev下的编译扩展的工具,如果没有的话快点执行 sudo apt-get install php-dev安装)
运行配置文件以生成Makefile:./configure
生成共享库(比如redis.so):make
命令行会提示执行”make test”,虽然不是必须的,但小心驶得万年船啊~兄弟!!如果此处没有问题的话那我们继续
安装:make install
最后会得到提示已经将软件安装到了/usr/lib/php5/20121212/redis.so,这个安装的本质就是把我们之前生成的共享库文件拷贝过来,就这样。
等一下,可是,现在问题就来了,怎么让他和php结合起来呢,如果你会一丢丢php的话,你就应该测试下现在php-redis扩展是否在生成的页面里是否显示redis扩展的情况,没有安装的话是没有的,呵呵。
这个配置挺麻烦的,不想CentOs等Linux下直接在php.ini的文件里加上extension=redis.so就行了,也不知道Ubuntu这样作死的设计不一样的apache环境是何居心啊,老夫已经在这里折腾过次了。哎。。。
首先在/etc/php5/mods-available/新建redis.ini文件,写入下列内容,至于为什么你可以参照同目录下的其他比如php-mysql扩展的情况
; configuration for php Redis module; priority=20extension=redis.so
简单吧,其实只是放的位置不一样,而且每个扩展的配置都被独立出来的
现在重启apache再重新加载刚才那个页面看看扩展有没有,不要怀疑,当然你没有,我当时也郁闷一下
然后在oschina上发现了他们的讨论,好像是要建立一个配置的文件的链接,像这样:
sudo ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d/20-redis.ini
然后后面那个文件就链接到前面那个你刚才自己写的配置文件了,也可以
ls -a /etc/php5/apache2/conf.d/
能够看到该目录下的其他配置文件的链接,只是文件名上多那些东西,我也是模仿它们命名的。
现在重启apache,试试~~
什么,你不会重启,那合着我半天都白讲了是吧!你把下列命令倒过来执行就行了,你一天是有多么无聊啊!
tratser 2ehcapa ecivres odus
现在应该在phpinfo的页面看见了redis扩展的安装信息了。
话说这扩展版本才2.2.5,我的redis-server都是2.8.4了,这样真的好么,有新版本的童鞋告我一声地址)))
哎,都15点了,饿死了,你们慢慢玩吧,我去吃午饭了。。。
??对于抨击我用Ubuntu的Linuxer来说,我只想说,e就是喜欢Ubuntu那华丽丽的界面!有强迫症

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

RESTAPI設計原則包括資源定義、URI設計、HTTP方法使用、狀態碼使用、版本控制和HATEOAS。 1.資源應使用名詞表示並保持層次結構。 2.HTTP方法應符合其語義,如GET用於獲取資源。 3.狀態碼應正確使用,如404表示資源不存在。 4.版本控制可通過URI或頭部實現。 5.HATEOAS通過響應中的鏈接引導客戶端操作。

在PHP中,異常處理通過try,catch,finally,和throw關鍵字實現。 1)try塊包圍可能拋出異常的代碼;2)catch塊處理異常;3)finally塊確保代碼始終執行;4)throw用於手動拋出異常。這些機制幫助提升代碼的健壯性和可維護性。

匿名類在PHP中的主要作用是創建一次性使用的對象。 1.匿名類允許在代碼中直接定義沒有名字的類,適用於臨時需求。 2.它們可以繼承類或實現接口,增加靈活性。 3.使用時需注意性能和代碼可讀性,避免重複定義相同的匿名類。

在PHP中,include,require,include_once,require_once的區別在於:1)include產生警告並繼續執行,2)require產生致命錯誤並停止執行,3)include_once和require_once防止重複包含。這些函數的選擇取決於文件的重要性和是否需要防止重複包含,合理使用可以提高代碼的可讀性和可維護性。

PHP中有四種主要錯誤類型:1.Notice:最輕微,不會中斷程序,如訪問未定義變量;2.Warning:比Notice嚴重,不會終止程序,如包含不存在文件;3.FatalError:最嚴重,會終止程序,如調用不存在函數;4.ParseError:語法錯誤,會阻止程序執行,如忘記添加結束標籤。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
