LNMP环境
浏览器
代码编辑器
的环境是LNMP系统,为了更好的模拟真实的应用环境,我使用的是我曾经在本地搭建的虚拟环境:
官方解释Yii2.0的安装有两种方式:(1)通过 Composer 安装(2)从归档文件安装
前面我们讲到了Composer,它是什么呢?Composer是PHP中用来管理依赖关系的工具,只要我们在配置中声明了需要的工具库,就可以帮助我们安装该工具。它的作用就是简化我们的安装过程,将更多的精力放到业务逻辑层面。它只是个工具而已。
百度搜索“composer官网”或打开YII中文网中以下链接的地方跳转,我们可以看到一个英文版的介绍页。我来翻译一下,见图:
步骤4中介绍了Composer并提出了安装所需要的一些前提条件,接下来我们尝试安装。由于我们选择了Linux的系统所以我们只关注Linux系统下的安装,朋友们可以自行查看windwos及其他系统的安装。
安装完Composer,运行下面的命令来安装Composer Asset插件:composer global require 'fxp/composer-asset-plugin:^1.2.0'
进入网站目录(这个可自行设定,然后修改nginx配置),分别执行以下两条命令:composer create-project yiisoft/yii2-app-basic basic 2.0.12composer create-project yiisoft/yii2-app-advanced advanced 2.0.12安装的基础版本和高级版本,安装完成后可以看到新创建的两个目录:basic,advanced我在安装过程中提示需要“token”,这就需要我们登陆Github来创建一个token,贴入然后执行。
修改nginx配置文件中根目录路径,重启nginx,浏览器访问查看效果。我时候发现无法正常访问,经排查发现是vendor目录没有下载下来。查询解决方案,有两种:(1)科学上网并重新使用composer命令下载安装;(2)本地下载然后上传到服务器,然后再解压缩;我使用的是第二种方案。
接下来有可能用户会遇到以下3个问题(前两种情况因服务器不同可能会有差异):(1)提示runtime目录,禁止使用mkdir();解决方案:chcon -R -t httpd_sys_rw_content_t ‘此处是runtime路径’(2)提示web/assets目录,不具备写权限;解决方案:修改/etc/selinux/config文件,保证“SELINUX=disabled”(3)提示需要创建key解决方案:打开conifg/web.php,在cookieValidationKey中写入一个字符串;
最后使用浏览器再次访问,查看效果:
有可能出现关于runtime 和 assets目录的问题
查看项目目录是否包含vendor