在Windows 10、Nginx 1.10下安装yii2-starter-kit的实现及解决问题的流程
1、在Windows 10、Nginx 1.10下安装yii2-starter-kit,在命令行中运行:php console/yii app/setup,如图1
2、报错:create unique index idx_article_slug on {{%article}} (slug) …Exception: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes,如图2
翻译:在{{%article}}(slug)上创建唯一索引idx_article_slug …例外:SQLSTATE [42000]:语法错误或访问冲突:1071指定的键太长; 最大密钥长度为767字节
3、在字段slug上建立索引idx_article_slug失败,如图3
SQL:ALTER TABLE `article` ADD UNIQUE INDEX `idx_article_slug` (`slug`)
#1071 – Specified key was too long; max key length is 767 bytes
4、找到{{%article_category}}、{{%article}}两张表的slug字段,将其长度修改为255,因为两张表皆有建立索引的操作,如图4
5、清除数据库,在命令行中再次运行:php console/yii app/setup,提示已成功迁移,如图5
6、打开前台应用,报错:symlink(): Cannot create symlink, error code(1314),如图6
7、由于开发环境不支持symlink(),决定设置’linkAssets’ => true,编辑文件:.dev,如图7
LINK_ASSETS=false
8、前台应用可以正常打开,如图8
9、打开关于页面,返回404,如图9
10、分析原因,在于启用了伪静态,而Nginx未支持,编辑nginx.conf,如图10
try_files $uri $uri/ /index.php?$args;
11、再次打开关于页面,正常,如图11
12、打开后台应用,正常,如图12
13、针对第7点的另外一种解决方案,可以管理员身份运行,启动控制台,可以解决不支持symlink()的问题,如
近期评论