齐天大圣
- 齐天大圣 2017-08-25 已签到连续签到2天,获得了10个金钱
- 齐天大圣 2017-08-24 已签到连续签到1天,获得了5个金钱
- 齐天大圣 赞了评论
终于弄出来了,搞了一天半!在这里列一下安装时的坑,首先声明一下我是yii小白,本身对yii这框架理解的还不透彻,所以也是写给小白的。
一、新代码的结构说明
yii默认的是backend和frontend,安装完后,这俩文件夹下都有web/index.php。易大师现在是统一入口在根据录的web下。目录结构说明中也有这一点,当时就没看,所以一直在localhost下找对应的frontend/web 和backend/web. 所以大家也不要纠结这俩目录下有没有web目录了,现在入口就一个根目录下的web,web里面又分了admin和api。所以对应的前后台是:
前台: web/
后台: web/admin
接口: web/api二、正确的安装姿势
我先是从yiichian上看的,然后又去git看的,可能时间太久远了吧,安装步骤跟代码都对应不上了,yiichina那些评论里说的问题也对应不上现在的代码结构了。在这里说一下安装步骤与坑。
1、git下载代码,composer install 安装依赖包。
2、我用的是xampp,mac平台,修改apache的配置文件:/Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf 如果你是其他的windows或者linux,修改对应文件即可:添加如如下代码:<VirtualHost *:80> ServerName www.testyii.com DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/yii2cmf-master/web/" </VirtualHost> <VirtualHost *:80> ServerName admin.testyii.com DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/yii2cmf-master/web/admin/" </VirtualHost>
这样就把前后台映射好了,对了还要修改本地hosts文件,我的是修改/etc/hosts 添加映射:
127.0.0.1 www.testyii.com 127.0.0.1 admin.testyii.com
这里给大家推荐mac上修改host的一个软件 SwitchHosts!
配置完映射之后,打开浏览器访问:www.testyii.com ,不出意外的话会出现安装界面,然后一步步的来,这时候有几个坑:
1)在输入db信息时,如果mysql中没有对应的数据库会提示不存在,所以需要先在mysql中创建数据库.(难道这个地方不是自动给安装的么?)
2)完了之后接着是床架admin用户信息,填完对应的用户信息之后,会出现loading界面,不出意外的话就跳到最后一步,设置要安装的模块,完成之后就可以显示登录界面了,输入刚才添加的用户信息就可以进入到后台界面了,哈哈,这是顺利的情况下,我想很多人应该跟我一样,卡在了loading这里,一直在转圈圈,于是我用断电调试,发现卡在了几个地方,因为没有做容错导致错误信息没有抛出来。出错是因为在设置缓存时由于权限问题,导致写缓存失败,随后在用到缓存的时候,取不出来,作者把缓存文件放在了根目录cache文件下,在执行composer install时,发现打印信息如下> php -r "file_exists('.env') || copy('.env.example', '.env');@chmod('.env', 0766);" > yii\composer\Installer::postCreateProject chmod('cache', 0776)...done. chmod('web/assets', 0776)...done. chmod('web/storage', 0776)...done. chmod('web/admin/assets', 0776)...done. chmod('api/runtime', 0776)...done. chmod('backend/runtime', 0776)...done. chmod('frontend/runtime', 0776)...done. chmod('web/api/assets', 0776)...done.
在mac下这0776的权限不够,我自己又"chmod -R 777 cache",然后写缓存就可以成功了,同样的其他的几个地方也设置成了777就可以读写了。
由于写cache缓存失败,代码没有做容错处理的这几个地方是:public function installConfig() { \Yii::$app->setKeys($this->envPath); //如果取缓存失败,这个$data会是false,下面的for循环就会抛异常,但是没有抛信息,所以一直loading。 $data = \Yii::$app->getCache()->get(SiteForm::CACHE_KEY); foreach ($data as $name => $value) { Yii::$app->setEnv($name, $value); } return true; } public function createAdminUser() { //如果取缓存失败,这个$data会是false,再把$data当数组用时就会报错,所以一直loading。 $data = \Yii::$app->getCache()->get(AdminForm::CACHE_KEY); $user = new User(); $user->setScenario("create"); $user->email = $data["email"]; $user->username = $data["username"]; $user->password = $data["password"]; if($user->create() == false) { return current($user->getFirstErrors()); } return null; }
三、未解决的问题
1、当成功安装以后,添加文章,在前台访问时报错:Class 'common\widgets\editormd\Editormd' not found。这个还没解决。
2、希望大湿多多完善代码吧,让我们这些小白,可以直接上手就用了。 - 齐天大圣 评论了源码 基于yii2的内容管理框架
终于弄出来了,搞了一天半!在这里列一下安装时的坑,首先声明一下我是yii小白,本身对yii这框架理解的还不透彻,所以也是写给小白的。
一、新代码的结构说明
yii默认的是backend和frontend,安装完后,这俩文件夹下都有web/index.php。易大师现在是统一入口在根据录的web下。目录结构说明中也有这一点,当时就没看,所以一直在localhost下找对应的frontend/web 和backend/web. 所以大家也不要纠结这俩目录下有没有web目录了,现在入口就一个根目录下的web,web里面又分了admin和api。所以对应的前后台是:
前台: web/
后台: web/admin
接口: web/api二、正确的安装姿势
我先是从yiichian上看的,然后又去git看的,可能时间太久远了吧,安装步骤跟代码都对应不上了,yiichina那些评论里说的问题也对应不上现在的代码结构了。在这里说一下安装步骤与坑。
1、git下载代码,composer install 安装依赖包。
2、我用的是xampp,mac平台,修改apache的配置文件:/Applications/XAMPP/xamppfiles/apache2/conf/httpd.conf 如果你是其他的windows或者linux,修改对应文件即可:添加如如下代码:<VirtualHost *:80> ServerName www.testyii.com DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/yii2cmf-master/web/" </VirtualHost> <VirtualHost *:80> ServerName admin.testyii.com DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/yii2cmf-master/web/admin/" </VirtualHost>
这样就把前后台映射好了,对了还要修改本地hosts文件,我的是修改/etc/hosts 添加映射:
127.0.0.1 www.testyii.com 127.0.0.1 admin.testyii.com
这里给大家推荐mac上修改host的一个软件 SwitchHosts!
配置完映射之后,打开浏览器访问:www.testyii.com ,不出意外的话会出现安装界面,然后一步步的来,这时候有几个坑:
1)在输入db信息时,如果mysql中没有对应的数据库会提示不存在,所以需要先在mysql中创建数据库.(难道这个地方不是自动给安装的么?)
2)完了之后接着是床架admin用户信息,填完对应的用户信息之后,会出现loading界面,不出意外的话就跳到最后一步,设置要安装的模块,完成之后就可以显示登录界面了,输入刚才添加的用户信息就可以进入到后台界面了,哈哈,这是顺利的情况下,我想很多人应该跟我一样,卡在了loading这里,一直在转圈圈,于是我用断电调试,发现卡在了几个地方,因为没有做容错导致错误信息没有抛出来。出错是因为在设置缓存时由于权限问题,导致写缓存失败,随后在用到缓存的时候,取不出来,作者把缓存文件放在了根目录cache文件下,在执行composer install时,发现打印信息如下> php -r "file_exists('.env') || copy('.env.example', '.env');@chmod('.env', 0766);" > yii\composer\Installer::postCreateProject chmod('cache', 0776)...done. chmod('web/assets', 0776)...done. chmod('web/storage', 0776)...done. chmod('web/admin/assets', 0776)...done. chmod('api/runtime', 0776)...done. chmod('backend/runtime', 0776)...done. chmod('frontend/runtime', 0776)...done. chmod('web/api/assets', 0776)...done.
在mac下这0776的权限不够,我自己又"chmod -R 777 cache",然后写缓存就可以成功了,同样的其他的几个地方也设置成了777就可以读写了。
由于写cache缓存失败,代码没有做容错处理的这几个地方是:public function installConfig() { \Yii::$app->setKeys($this->envPath); //如果取缓存失败,这个$data会是false,下面的for循环就会抛异常,但是没有抛信息,所以一直loading。 $data = \Yii::$app->getCache()->get(SiteForm::CACHE_KEY); foreach ($data as $name => $value) { Yii::$app->setEnv($name, $value); } return true; } public function createAdminUser() { //如果取缓存失败,这个$data会是false,再把$data当数组用时就会报错,所以一直loading。 $data = \Yii::$app->getCache()->get(AdminForm::CACHE_KEY); $user = new User(); $user->setScenario("create"); $user->email = $data["email"]; $user->username = $data["username"]; $user->password = $data["password"]; if($user->create() == false) { return current($user->getFirstErrors()); } return null; }
三、未解决的问题
1、当成功安装以后,添加文章,在前台访问时报错:Class 'common\widgets\editormd\Editormd' not found。这个还没解决。
2、希望大湿多多完善代码吧,让我们这些小白,可以直接上手就用了。 - 齐天大圣 赞了源码基于yii2的内容管理框架
- 齐天大圣 发表了说说资料不够多啊