PHP的Laravel框架结合MySQL与Redis数据库的使用部署
《PHP的Laravel框架结合MySQL与Redis数据库的使用部署》要点: 相对付熟读官方文档,更重要的是要把框架环境搭起来.
一、安装LNMP
二、安装Composer 局部安装 分离执行以下两条命令 curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 安装完成,使用以下命令看是否安装胜利 composer -V 出现版本号,即阐明安装成功 三、安装Laravel sudo install yum php-mysql php-mcrypt php-mbstring php-tokenizer php-openssl 安装完成后,在Nginx的设置装备摆设文件(一般是/etc/nginx/conf.d/default.conf)最下方添加如下设置装备摆设 location / { try_files $uri $uri/ /index.php?$query_string; } 来到你的laravel工程目录下,看到storage和vendor文件夹,使用以下命令改动其文件读写权限,让Nginx用户能读写它 sudo chmod -R 766 storage sudo chmod -R 766 vendor 四、让MVC跑起来!
demo/app/http/routes.php底部添加如下代码: Route::get('/item/{id}','ItemController@showItem'); demo/app/http/controllers/ 目次新添文件 ItemController.php,代码如下: <?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppItem 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 namespace App; use IlluminateDatabaseEloquentModel; 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数据 五、Laravel结合Redis 安装 $ 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 启动 $ src/redis-server 查看官方下载和安装文档,只必要几个命令即可
cd 到你的App所在路径,修改composer.json,在require字段里,添加"predis/predis":"~1.0.1",然后当前目录下 sudo composer update,此时就会自动下载包需要的扩展包,这些扩展包将会被放在vendor目录下.如果出现内存不够这些报错,现在看来是内存分配不够的原因,重启一下服务器即可,彻底解决的方法要修改服务器配置,但我不清楚改哪里,后续再补 设置装备摆设相关设置装备摆设,查看官方文档即可.主要是设置装备摆设config/database.php 'redis' => array( 'cluster' => false,'default' => array('host' => '127.0.0.1','port' => 6379) )
<?php namespace AppHttpControllers; use IlluminateHttpRequest; use AppUser as User; use IlluminateSupportFacadesRedis 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的Laravel框架结合MySQL与Redis数据库的使用部署》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |