vagrant的学习 之 Yii2
vagrant的学习 之 Yii2
本文根据慕课网的视频教程练习,感谢慕课网!
慕课视频学习地址:https://www.imooc.com/video/14218。
慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va
Yii2的中文官网地址:https://www.yiichina.com/
第一步,需要安装composer:
curl -sS https://getcomposer.org/installer | php
返回失败:
All settings correct for using Composer
Downloading...
Failed to decode zlib stream
再次执行该命令,返回成功:
All settings correct for using Composer
Downloading... Composer (version 1.7.) successfully installed to: /home/www/yii2/composer.phar
Use it: php composer.phar
然后把composer修改为全局变量,执行:
mv composer.phar /usr/local/bin/composer
第二步,安装Yii:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
报错:
Cannot create cache directory /home/vagrant/.composer/cache/repo/https---repo.packagist.org/,
or directory is not writable. Proceeding without cache
给目录增加权限:
sudo chmod -R /home/vagrant/.composer/cache/
再次执行,还是报错:
The "https://repo.packagist.org/packages.json" file could not be downloaded: SSL: crypto enabling timeout
Failed to enable crypto
failed to open stream: operation failed
https://repo.packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date [Composer\Downloader\TransportException]
Content-Length mismatch, received bytes out of the expected
超时了,搜索后尝试修改composer的国内镜像下载地址,实现加速试一试:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
结果显示无权限:
[ErrorException]
touch(): Unable to create file /home/vagrant/.composer/config.json because Permission denied
给文件增加权限:
sudo chmod -R /home/vagrant/.composer/
然后再次执行修改composer的下载地址:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
这次没有报错,查看配置文件已经修改:
cat /home/vagrant/.composer/config.json
显示:
{
"config": {},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
然后再次尝试下载yii框架:
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
下载成功,发现目录下多了个basic目录
重命名项目名字:
mv basic yii2
第三步,配置nginx:
//进入nginx的配置目录
cd /etc/nginx/conf.d/
//常见yii的配置文件
sudo touch yii2.conf
//编辑配置文件
sudo vim yii2.conf
//文件内容
server{
server_name study.yii2.com;
root /home/www/yii2/web;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
} location ~ \.php${
include fastcgi_params;
fastcgi_pass 127.0.0.1:;
try_files $uri = ; }
}
修改host文件:
sudo vim /etc/hosts
增加:
IP地址 study.yii2.com
然后重启nginx
sudo /etc/init.d/nginx restart
最后配置本地主机的host文件:
也增加:
IP地址 study.yii2.com
就可以在本地访问 study.yii2.com 了。
第四步,配置apache:
进入apache的配置目录:
cd /etc/apache2/sites-enabled
创建配置文件:
sudo touch yii2.conf
编辑配置文件:
sudo vim yii2.conf
<VirtualHost *:>
ServerName study.yii2.com
DocumentRoot /home/www/yii2/web/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
重启apache:
sudo /etc/init.d/apache2 restart
ok,配置完成。
总结:
1、虽然看视频或者文档感觉简单,很快就看完了,但是自己并没有记住,还是需要多加练习才行;
2、实际操作起来更会有很多意外的错误发生,这时候就需要耐心,分析解决问题,有的错误可能很快找到解决方法,但是有些却耗费时间也没有搜到答案,只能另寻途径或暂时跳过。
欢迎大家指点。
vagrant的学习 之 Yii2的更多相关文章
- vagrant的学习之Git学习
vagrant的学习之Git学习 参考学习网址: http://www.runoob.com/git/git-install-setup.html. http://www.bootcss.com/p/ ...
- vagrant的学习 之 打包分发
vagrant的学习 之 打包分发 一.打包Box: (1)关闭虚拟机. vagrant halt (2)打包: vagrant package 这样打包出来的文件叫package.box. 指定生成 ...
- vagrant的学习 之 优化
vagrant的学习 之 优化 一.修改虚拟机名字: 默认的虚拟机的名字很长:study_default_1535505004652_97747. (1)打开Vagrantfile文件:(2)找到: ...
- vagrant的学习 之 Laravel
vagrant的学习 之 Laravel 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址:htt ...
- vagrant的学习 之 ThinkPHP3.2
vagrant的学习 之 ThinkPHP3.2 (1)在web目录下新建tp32目录: cd /home/www/ mkdir tp32 (2)下载框架 我从ThinkPHP官网下载了ThinkPH ...
- vagrant的学习 之 ThinkPHP5.1
vagrant的学习 之 ThinkPHP5.1 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址 ...
- vagrant的学习 之 LNMP和LAMP
vagrant的学习 之 LNMP和LAMP 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/va ...
- vagrant的学习 之 基础学习
vagrant的学习 之 基础学习 本文根据慕课网的视频教程练习,感谢慕课网! 慕课的参考文档地址:https://github.com/apanly/mooc/tree/master/vagrant ...
- vagrant简单学习使用
1.安装vagrant 旧版本的vagrant可以在http://downloads.vagrantup.com/下载,支持的系统平台有mac,debian/ubuntu, centos,window ...
随机推荐
- 不全屏显示、手柄不居中的SlidingDrawer
SlidingDrawer是一个滑动式抽屉,通过点击或拖拽手柄(handle)来显示或隐藏内容(content). 看了很多关于SlidingDrawer的例子,但基本都是全屏显示,并且手柄居中的.我 ...
- Deprecated: Assigning the return value of new by reference is deprecated in报错
出现了Deprecated: Assigning the return value of new by reference is deprecated in wwwroot\common.inc.ph ...
- html调用js提示方法名 is not defined处理方法
解决办法(方法名 is not defined): dosave=function(){ alert("方法名在前"); } 下面这种写法有时候会出现错误: function do ...
- 在SQLServer使用触发器实现数据完整性
1.实现数据完整性的手段 在sqlserver中,在服务器端实现数据完整性主要有两种手段:一种是在创建表时定义数据完整性,主要分为:实体完整性.域完整性.和级联参照完整性:实现的手段是创建主键约束.唯 ...
- 基于 python 的接口测试框架
项目背景 公司内部的软件采用B/S架构,管理实验室数据,实现数据的存储和分析统计.大部分是数据的增删改查,由于还在开发阶段,所以UI界面的变化非常快,之前尝试过用python+selenium进行UI ...
- MyEclipse 2015 安装到配置一站式备忘
目录 h1 2121 h1 2121
- Android(java)学习笔记159:多线程断点下载的原理(Android实现)
之前在Android(java)学习笔记215中,我们从JavaSE的角度去实现了多线程断点下载,下面从Android角度实现这个断点下载: 1. 新建一个Android工程: (1)其中我们先实现布 ...
- Python小记-- 读取当前目录下所有文件名
# -*- coding: utf-8 -*- import os def file_name(file_dir): with open("SelectAllFiles.txt", ...
- c++ cpp和hpp
首先,我们可以将所有东西都放在一个.cpp文件内,编译器会将这个.cpp编译成.obj,即编译单元.一个程序可以由一个编译单元组成,也可以由多个编译单元组成.一个.cpp对应一个.obj,然后将所有的 ...
- 小程序02 wxml和wxss
微信小程序的排版就跟wxml和wxss有关,它们两者相当于HTML和CSS,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式. 一.wxml 界面结构wxmL比较容易理解, ...