Ubuntu 安装yii2 advanced版 遇到的坑
1.安装 Composer
https://www.yiichina.com/doc/guide/2.0/start-installation
通过 Composer 安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
解决方案
sudo vim /etc/php/7.2/cli/php.ini
zlib.output_compression = ON
安装成功
2.安装yii2 高级版
安装yii2
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
报错:
更换源:
composer config repo.packagist composer https://packagist.phpcomposer.com
报错:
加参数-g global
composer config -g repo.packagist composer https://packagist.phpcomposer.com
再次安装yii2
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
更改网络连接方式,桥接方式
安装php-mbstring
sudo apt-get install php-mbstring
报网络连接超时
在浏览器打开安装包地址
http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.2/php7.2-mbstring_7.2.9-1+ubuntu16.04.1+deb.sury.org+1_amd64.deb
不能访问,
发现另外一个复制的虚拟机也打开了,怀疑是IP地址冲突,关掉另外一台虚拟机后,可以打开这个地址
再次安装,报错:
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
执行:sudo apt-get install phpunitsudo apt-get install php7.2-xml
再次安装,安装成功
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
3.配置nginx
sudo vim /etc/nginx/sites-available/default
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name frontend.test;
root /home/jay/yii-application/frontend/web/;
index index.php;
access_log /home/jay/yii-application/log/frontend-access.log;
error_log /home/jay/yii-application/log/frontend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name backend.test;
root /home/jay/yii-application/backend/web/;
index index.php;
access_log /home/jay/yii-application/log/backend-access.log;
error_log /home/jay/yii-application/log/backend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
重启nginx
sudo service nginx reload
sudo service nginx restart
查看错误日志
journalctl -xe
文件不存在
"/home/jay/yii-application/log/frontend-access.log" failed (2: No such file or directory)
解决方案:创建一个log文件夹
nignx 403
解决方案:初始化yii-application
~/yii-application$ php init
配置hosts
打开http://backend.test
报错502
安装php-fpm
sudo apt-get install php7.2-fpm
php-fpm监听地址有问题,需要与nginx监听地址一致 127.0.0.1:9000
sudo vim /etc/php/7.2/fpm/pool.d/www.conf
重启php7.2-fpm
sudo service php7.2-fpm restart
打开http://backend.test 跳转到login页面
http://frontend.test/ 跳转到欢迎页面
check php info
在/home/jay/yii-application/frontend/web 目录创建一个test.php文件
运行http://frontend.test/test.php
4.配置mysql
check mysql 服务是否打开,有localhost:mysql则表示服务已打开
sudo netstat -tap | grep mysql
start service
/etc/init.d/mysql start
stop service
/etc/init.d/mysql stop
连接mysql
mysql -u root -p
报错
切换到root用户
sudo su root
连接mysql,连接成功
mysql -u root -p
查看有哪些数据库
mysql> show databases
查看yii2 配置的数据库:
创建 yii2advanced数据库
mysql> create database yii2advanced
登陆报错,php mysql driver没有安装
安装php mysql 扩展
sudo apt-get install php7.2-mysql
再次登陆,报错:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
修改用户名密码
mysql -u root -p yii2advanced
mysql> select plugin from mysql.user where user = 'root';
mysql> update mysql.user set plugin='mysql_native_password';
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('abc123_') WHERE user='root';
mysql> flush privileges;
mysql> exit
再次连接mysql
mysql -u root -p yii2advanced
输入abc123_
登陆成功
#5. 访问数据库
login
报 The table does not exist: {{%user}} 未找到
创建user表
CREATE TABLE IF NOT EXISTS `user`(
`id` INT UNSIGNED AUTO_INCREMENT,
`status` varchar (100),
`username` varchar (100),
`password` varchar (50),
`email` varchar (50),
`password_hash` varchar (200),
`password_reset_token` varchar (200),
`auth_key` varchar (50),
`created_at` varchar (50),
`updated_at` varchar (50),
PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
注册报错:
Setting unknown property: common\models\User::password_hash
gii生成代码
http://127.0.0.1/index.php?r=gii
报错:
Unable to write the file /yii-application/backend/models/Test.php'.
设置权限
sudo chmod -R 0777 backend
CURD
生成成功
查看文件目录
访问http://backend.test/index.php?r=test/index
phpMyAdmin 查询user表报错
$ sudo vim /usr/share/phpmyadmin/libraries/sql.lib.php
找到
(count($analyzed_sql_results['select_expr'] == 1)
1
改成和下面这句话一样就可以了~
(count($analyzed_sql_results['select_expr']) == 1
注册,登陆成功
数据插入到数据库里面了
作 者:
Jackson0714
出 处:http://www.cnblogs.com/jackson0714/
关于作者:专注于微软平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!
Ubuntu 安装yii2 advanced版 遇到的坑的更多相关文章
- yii2 advanced版基础部分
yii2 advanced版 一.目录结构 1.backend 和 frontend : 前后台入口,相当于是一个单独的Basic应用,有自己的 mvc 目录.配置文件目录.入口文件目录 2.cons ...
- linux mint & ubuntu 安装QQ国际版
ubuntu安装QQ相对简单 下载qq国际版deb文件,直接安装即可. 下载地址: http://pan.baidu.com/s/1hqmYzlU 下面就重点说一下linux mint 安装qq. 1 ...
- 【Caffe】Ubuntu 安装 Caffe gpu版
安装环境:Ubuntu 16.04lts 64位, gcc5.4 gpu1050ti,cuda8.0,cudnn5.1.10 1. 安装依赖库 sudo apt-get install libprot ...
- Ubuntu安装deepin wine版QQ
1.安装deepin wine环境 https://github.com/wszqkzqk/deepin-wine-ubuntu 直接下载zip包(或者用git方式克隆) 使用unzip解压到指定文件 ...
- Ubuntu安装Windows官方版QQ和微信(使用deepin wine)
- Yii2 advanced版API接口开发 基于RESTful架构的 配置、实现、测试
参考地址: http://www.xiaoxiangzi.com/Programme/PHP/3348.html http://www.cnblogs.com/ganiks/p/yii2-restfu ...
- Windows下使用Composer安装yii2
Composer简介 Composer 是PHP中用来管理依赖(dependency)关系的工具.你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的 ...
- Win10 下安装Ubuntu 21.04桌面版 双系统 并设置win10为默认启动系统 详细教程
@ 目录 〇.写在前面 〇 - Plus:如何进入BIOS 〇 - Plus - Plus:U盘启动快捷键 一.磁盘分区:Win10划分未分配空间 二.下载Ubuntu 21.04镜像 三.安装U盘启 ...
- Ubuntu 16.04安装QQ国际版图文详细教程
因工作需要,我安装了Ubuntu 16.04,但是工作上的很多事情需要QQ联系,然而在Ubuntu上的WebQQ很是不好用,于是在网上搜索了好多个Linux版本的QQ,然而不是功能不全 ...
随机推荐
- SpringCloud Eureka 报错 无法启动问题
1.SpringCloud Eureka 报错 无法启动基本上都是spring boot的版本与spring cloud的版本不匹配导致的. <dependencyManagement> ...
- 爬虫之scrapy-splash
什么是splash Splash是一个Javascript渲染服务.它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT.Twisted(QT ...
- 自动化测试基础二(Python基础)
1.为什么学习Python 1)简单.易学 2)强大:交互性.解释性.编译性.跨平台 3)市场需求上升快.顺应市场需要 4)自动化测试需要使用编程语言来写脚本 2.需要学习Python哪些内容? 1) ...
- 【译】Flink + Kafka 0.11端到端精确一次处理语义的实现
本文是翻译作品,作者是Piotr Nowojski和Michael Winters.前者是该方案的实现者. 原文地址是https://data-artisans.com/blog/end-to-end ...
- 【bzoj 3306】树
Description 给定一棵大小为 n 的有根点权树,支持以下操作: • 换根 • 修改点权 • 查询子树最小值 Input 第一行两个整数 n, Q ,分别表示树的大小和操作数. ...
- Cocos.js
l SDK下载:http://cn.cocos2d-x.org/download/ l js类库:http://www.cocos2d-x.org/filecenter/jsbuilder/
- 说说 input 输入框的事件
从input框获取焦点到,输入值,失去焦点这个过程所有事件,以及一些特点: 1.过程 onfocus -> 键盘输入 -> onkeydown -> onkeypress -> ...
- 并发的核心:CAS 是什么?Java8是如何优化 CAS 的?
大家可能都听说说 Java 中的并发包,如果想要读懂 Java 中的并发包,其核心就是要先读懂 CAS 机制,因为 CAS 可以说是并发包的底层实现原理. 今天就带大家读懂 CAS 是如何保证操作的原 ...
- 一个C#程序员学习微信小程序的笔记
客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在启动的时候,将首页的代码装载进来,通 ...
- centos7 修改ip和dns
RHEL7.CentOS7命令添加和修改网卡IP地址和NDS RHEL7.CentOS7默认安装之后是没有启动网络连接!(我们就不按6的方试设置IP了,用命令方试添加IP.网关和DNS) 一.设置 ...