《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.vephp.com/jiaocheng/7275.html