《PHP教程:PHP的Laravel框架結合MySQL與Redis數據庫的使用部署》要點:
本文介紹了PHP教程:PHP的Laravel框架結合MySQL與Redis數據庫的使用部署,希望對您有用。如果有疑問,可以聯系我們。
相對付熟讀官方文檔,更重要的是要把框架環境搭起來.
零、環境介紹PHP學習
一、安裝LNMP
在安裝Laravel之前,必要把Linux + Nginx + Mysql + Php的環境搭建好.具體的搭建步驟這里就不再詳述了.
P.S.PHP學習
二、安裝Composer
composer是用來管理PHP包依賴的工具,Laravel正使用此工具進來依賴管理.有兩種安裝方式PHP學習
局部安裝
全局安裝,即在系統任意目錄下可使用.本文只介紹此種安裝辦法.官方安裝文檔PHP學習
分離執行以下兩條命令
PHP學習
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
安裝完成,使用以下命令看是否安裝勝利
PHP學習
composer -V
出現版本號,即闡明安裝成功PHP學習
三、安裝Laravel
依照Laravel的官方文檔說明即可,建議使用【通過Laravel安裝工具】,沒什么坑,這里略過
提示:由于Laravel還依賴于一些的PHP擴展,所以使用yum安裝
PHP學習
sudo install yum php-mysql php-mcrypt php-mbstring php-tokenizer php-openssl
安裝完成后,在Nginx的設置裝備擺設文件(一般是/etc/nginx/conf.d/default.conf)最下方添加如下設置裝備擺設
PHP學習
location / { try_files $uri $uri/ /index.php?$query_string; }
來到你的laravel工程目錄下,看到storage和vendor文件夾,使用以下命令改動其文件讀寫權限,讓Nginx用戶能讀寫它
PHP學習
sudo chmod -R 766 storage sudo chmod -R 766 vendor
四、讓MVC跑起來!
在此之前,你應該讀一下官方文檔 路由、控制器、數據庫使用基礎、Eloquent ORM
至此,可以開始coding,開發一個 MVC的demo了,此demo的功能是將數據庫表tbl_item從數據庫里讀出來,并以json格局響應給瀏覽器.
假設你已經通過laravel new demo來初始化你的web app.PHP學習
demo/app/http/routes.php底部添加如下代碼:
PHP學習
Route::get('/item/{id}', 'ItemController@showItem');
demo/app/http/controllers/ 目次新添文件 ItemController.php,代碼如下:PHP學習
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Item as Item; class ItemController extends Controller { private $model; public function __construct() { $this->model = new Item(); } public function showItem($id) { $users = $this->model->fetchAll(); echo json_encode($users); Log::info('獲取用戶列表,通過msyql'); } }
demo/app/目次下新增文件 Item.php 代碼如下
PHP學習
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Item extends Model { protected $fillable = ['name', 'price']; protected $guarded = ['id']; /** * The database table used by the model. * default: tbl_items * @var string */ // protected $table = 'tbl_items'; public function fetchAll(){ $items = $this->all()->toJson(); return $items; } }
使用瀏覽器拜訪http://yourIp/item/1,即可列出所有的item數據PHP學習
五、Laravel結合Redis
直連DB是不夠的,很快數據庫拜訪就會成為系統的瓶頸.我們引入緩存Redis.還是一樣的思路,先讓系統跑起來.
1、安裝啟動RedisPHP學習
安裝PHP學習
$ wget http://download.redis.io/releases/redis-3.0.1.tar.gz $ tar xzf redis-3.0.1.tar.gz $ cd redis-3.0.1 $ make
啟動PHP學習
$ src/redis-server
查看官方下載和安裝文檔,只必要幾個命令即可PHP學習
2、安裝PHP PRedis
PRedis是PHP拜訪redis的擴展包,只需要下載原碼即可,不需要安裝PHP擴展(如php-redis.so).但在這之前要介紹一個composer,因為laravel通過它來安裝第三方程序包(管理依賴關系).PHP學習
cd 到你的App所在路徑,修改composer.json,在require字段里,添加"predis/predis":"~1.0.1",然后當前目錄下 sudo composer update,此時就會自動下載包需要的擴展包,這些擴展包將會被放在vendor目錄下.如果出現內存不夠這些報錯,現在看來是內存分配不夠的原因,重啟一下服務器即可,徹底解決的方法要修改服務器配置,但我不清楚改哪里,后續再補PHP學習
設置裝備擺設相關設置裝備擺設,查看官方文檔即可.主要是設置裝備擺設config/database.phpPHP學習
'redis' => array( 'cluster' => false, 'default' => array('host' => '127.0.0.1', 'port' => 6379) )
3、coding
PHP學習
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User as User; use Illuminate\Support\Facades\Redis as Redis; class UserController extends Controller { // use User; private $model; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->model = new User(); } /** * Show * * @return Response */ public function showUser($id) { $redis = Redis::connection('default'); $cacheUsers = $redis->get('userList'); if( $cacheUsers ){ $users = $cacheUsers; print_r($users); Log::info('獲取用戶列表,經由過程redis'); }else{ $users = $this->model->fetchAll(); $redis->set('userList', $users); print_r($users); Log::info('獲取用戶列表,經由過程msyql'); } } }
維易PHP培訓學院每天發布《PHP教程:PHP的Laravel框架結合MySQL與Redis數據庫的使用部署》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7275.html