Laravel:系统登录后的跳转
Laravel 自带的 Auth,在登陆或注册成功后,会跳转到 /home
, 但是我们的项目有时会划分前、后台,而只有后台需要登陆,则需要修改跳转路径到后台根目录,在Controllers\Auth
目录下,修改 LoginController.php
、RegisterController.php
,ResetPasswordController.php
中的 $redirectTo
参数:
1 | protected $redirectTo = '/admin'; |
但还是没有完成,比如我们在浏览器中打开系统后台,会跳转到登录界面,输入账号密码登陆,成功后,我们不退出系统,不关闭浏览器,只关闭当前标签页(实际操作中就可能出现这种情况),还没做事呢!于是重新打开系统,这次不会出现登陆界面,因为我们已登录了, session
还没过期,但是也没有正常进入后台,而是跳转到了 /home
,所以我们还需做一点修改,在 Middleware
目录下,有 RedirectIfAuthenticated.php
这个文件,根据名称可以看出,是用来控制系统已经登陆后的跳转,修改文件中的跳转路径:
1 | if (Auth::guard($guard)->check()) { |
PhpStorm 从已有文件创建项目
从欢迎页开始创建:
从主页面开始创建:
接下来为了简便期间,可以选择最后一项,然后点击Next
,
主要是这里,按图片上标示的顺序操作即可:
如上图,先在文件目录中选择项目文件,然后设置为Project Root
,Next
按扭变为可用,点击即可。
Setup is unable to find the "ifconfig" program on your machine
VMware 安装 Ubuntu,之后安装 VMware Tools ,安装过程中可能遇到如下提示:
Setup is unable to find the "ifconfig" program on your machine. Please make sure it is installed. Do you want to specify the location of this program by hand? [yes]
输入 yes
,按 Enter
键确认,或直接 按 Enter
键,则会有如下提示:
What is the location of the "ifconfig" program on your machine?
按 Enter
键,会有如下提示:
The answer "" is invalid. It must be the complete name of a binary file.
不能正常安装。
输入 no
,按 Enter
键,则会有如下提示:
Unable to continue. Execution aborted.
直接退出安装。
** 解决办法 :**
运行以下命令安装 ifconfig
:
1 | sudo apt install net-tools |
然后再次安装 VMware Tools 即可。
Android 之 DatePickerDialog
DatePickerDialog 用来设置日期。基本用法:
1 | Calendar mCalendar = Calendar.getInstance(); |
把上述代码放在 view
的 click
时间监听中便可触发,并且默认选择的日期是当前日期。
但在实际应用中,我们可能需要默认显示的是传来的值,如生日等,如何做?
上面代码中,在实例化 DatePickerDialog
时传入的 mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH)
,便是用来设置默认选择的日期,我们可以把传来的日期转化为 Calendar
对象即可,代码如下:
1 | Calendar mCalendar = Calendar.getInstance(); |
打开日期对话框时,默认选择的便是 1988-11-11
。
Ubuntu 搭建 git server
假设服务器 ip
地址为 192.168.1.1
1、安装 git
:
1.1 安装:
1 | sudo apt-get update |
1.2 创建 git
仓库目录:
1 | cd /home |
1.3 创建密钥存放目录:
1 | cd /home/git |
2、新建 git
用户,用来管理 git
服务:
1 | sudo adduser git |
3、创建证书登陆:
3.1 安装 openssh-server
:
1 | sudo apt-get install openssh-server |
通过命令 s –e|grep ssh
,查看ssh服务是否启动(是否安装成功)
3.2 在本机(客户端)生成证书:
我用的是 Windows, 打开 git bash
,用如下命令生成:
1 | ssh-keygen –t rsa |
在 C:\Users\用户名\.ssh
目录可看到:
1 | id_rsa.pub #公钥 |
3.3 把证书上传到 git
服务器:
在 C:\Users\用户名\.ssh
目录下打开 git bash
:
1 | scp id_rsa.pub root@192.168.1.1:/home/git/.ssh |
3.4 服务器端密钥配置:
进入 /home/git/.ssh
目录:
1 | cd /home/git/.ssh |
如果 authorized_kesys
不存在,则重新生成:
1 | touch authorized_kesys |
将客户端上传的公钥id_rsa.pub的内容追加到authroized_keys中:
1 | cat id_rsa.pub >> authorized_keys |
4、初始化 git
仓库:
修改git
目录的用户/用户组:
1 | sudo chown -R git:git git |
初始化:
1 | cd /home/git |
5、禁用 shell
登陆:
打开 /etc/passwd
文件,找到 git
用户,把 git:x:1000:1000::/home/git:
修改为:
1 | git:x:1000:1000::/home/git:/usr/bin/git-shell |
6、克隆仓库:
在客户端打开 git bash
:
1 | git clone git@192.168.1.1:/home/git/sample.git |
结束!!!
资料参考:
搭建Git服务器 - 廖雪峰
在 Ubuntu 系统中部署 Git Server
如何在Ubuntu上几步搭建Git Server
Ubuntu上搭建Git服务器
ssh证书登录(实例详解)
php artisan route:list Call to undefined function Yajra\Pdo\oci_connect()
Laravel 框架中用 yajra/laravel-oci8 链接 Oracle 数据库,查询数据没问题,但是当运行 php artisan route:list
命令时会报错:
1 | C:\wamp64\www\stat2>php artisan route:list |
** 原因: ** CLI 模式下没有开启 oci8
扩展
我在 Windows 上用 WAMPServer 配置的 PHP 开发环境。
在浏览器中访问 http://localhost/?phpinfo=1
,可找到如下内容:
1 | Configuration File (php.ini) Path C:\Windows |
加载的配置文件是C:\wamp64\bin\apache\apache2.4.23\bin\php.ini
CLI模式下:
1 | C:\wamp64\www\stat2>php --ini |
加载的配置文件是 C:\wamp64\bin\php\php7.0.10\php.ini
打开两个文件可发先它们开启的扩展是不一样的
** 解决办法: **
在 C:\wamp64\bin\php\php7.0.10\php.ini
文件中开启 oci8
扩展
1 | extension=php_oci8_12c.dll |
Windows 下 VisualSVN 配置钩子(post-commit)
在实际项目中,一般都要用到版本控制工具。这篇文章是关于版本控制工具 VisualSVN,对于网站(在线系统)类项目,我们在 commit
的同时,也希望新提交的代码能自动部署到服务器目录,便要用到钩子(hook)功能,具体配置的是 post-commit
,如下图:
在 windows server 服务器安装 VisualSVN server 服务端和 TortoiseSVN客户端,创建 repository,略过不提。
在项目名称点击鼠标右键,选择“Properties”->选择“Hooks”选项卡,选中 “Post-commit hook” ,点击 “Edit”,编辑内容如下:
1 | @echo off |
其中, WORKING_COPY 是项目在服务器(这里指如Apache、Nginx等web服务器)中的目录,并且是svn目录,这里要做的是:右键,签出(checkout)项目,而不是右键新建目录,这也是为何要安装TortoiseSVN的原因。
这是,在自己的电脑上新建、修改文件,然后提交到版本库,可能出现如下错误:
1 | post-commit hook failed (exit code 1) with output: |
**原因:**Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。
解决办法:,修改Visual SVN Server 权限
按 `win+R`快捷键, 在运行窗口中输入` services.msc`, 回车,在弹出的“服务”窗口中, 找到visual svn server 服务 ,右键属性 ,先停止服务之后,设置如下:
WAMP: You don't have permission to access on this server.
新安装的 WAMP
,在其他电脑访问时,会出现 403
错误:
1 | Forbidden |
解决办法:
在安装目录 盘符:\wamp64\bin\apache\apache2.4.23\conf\extra
中找到 httpd-vhosts.conf
文件:
1 | VirtualHost *:80> |
修改为:
1 | VirtualHost *:80> |
Laravel Homestead 安装配置
1、安装 VirtualBox, Vagrant,git
下载 VirtualBox、 Vagrant、git,并安装。
2、安装 Homestead Vagrant Box
用如下命令直接下载安装:
1 | vagrant box add laravel/homestead |
上述方法安装不成功,可在百度网盘(链接:https://pan.baidu.com/s/1lA6TV2l9mwOIz2a1Yz5r3A
提取码:6irb ) 获取已下载好的 Homestead Vagrant Box,安装方法看下面:
3、安装 Homestead
安装:
1 | cd ~ |
由于 Homestead 的 master
分支并不是稳定分支,你应该检出已经标签过的稳定版本。你可以在 Github Release Page 找到最新的稳定版本:
1 | cd Homestead |
如果需要安装下载好的 box,在 Homestead
目录,新建 metadata.json
文件,内容如下:
1 | { |
url
根据自己的实际目录修改。
然后用如下命令添加:
1 | vagrant box add metadata.json |
查看已安装的 box:
1 | vagrant box list |
初始化:
1 | // Mac / Linux... |
4、配置
- 生成SSH Key:
用 git bash
运行命令生成:
1 | #引号中的信息自行修改 |
- 配置共享文件夹
打开 Homestead.yaml
文件(C:\Users\用户名\Homestead 或 C:\Users\用户名.homestead目录下):
1 | folders: |
复制原文件中的内容修改即可(注意对齐、空格等)
- 配置Nginx站点
打开 Homestead.yaml
文件:
1 | sites: |
- 修改
hosts
文件:
添加如下内容:
1 | 192.168.10.10 test.app |
- 修改数据库配置:
编修对应项目的 .env
文件:
1 | DB_DATABASE=homestead |
5、测试、使用
- 启动 Vagrant Box
1 | # 进入 Homestead 目录 |
打开浏览器,访问 test.app, 若正常显示 Laravel 欢迎页,则配置成功。
通过 SSH 连接虚拟主机
1 | vagrant ssh |
项目列表:
1 | ls |