为gitlab配置QQ个人邮箱
为gitlab配置QQ个人邮箱

废话少说吧直接上教程,配置邮箱的目的就是为了收发邮件方便。 1、开启qq邮箱的POP3/SMTP服务并保存好授权码 这一步在qq邮箱的设置 -> 账户中 点击开启按照提示步骤操作会获得相应的授权码(注意:记住授权码一会要用) 2、修改gitlab的配置文件:sudo vim /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.qq.com" gitlab_ra...

Mac下PHP7.2.4安装redis扩展和memcache扩展

我一直在mac上用brew管理软件,当我想安装php扩展时发现无论如何也安装不上,然后反复查找才知道 Homebrew/php自来水在2018年3月底被弃用,并将所有PHP公式转移到Homebrew/core,旧的brew tap homebrew/dupes、brew tap homebrew/versions、brew tap homebrew/homebrew-php都会报以下错误 Warning: homebrew/dupes was deprecated. This tap is now empty as all its formulae were mi...

微信公众号订阅号和服务号实现通信步骤

需求:A号(服务号)B号(订阅号)需求是用户关注 B号后,通过 B号提供的入口进入相应的网页,在网页中判断若是没有关注 B号即跳出让关注。 经过需求分析发现技术难度在与只有 A号(服务号)才有资格通过网页授权获取用户的基本信息,订阅号是没办法这么做的,反复查找资料得到以下解决办法: 1、A服务号微信网页授权可以拿到openid、unionid,保存到数据库a表 2、B订阅号,后台获取粉...

vagrant package 打包命令的用法
vagrant package 打包命令的用法

vagrant package –outout test.box vagrant 有一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在。 vagrant package的命令很简单。 语法:vagrant package -hUsage: vagrant package [options] Options 解释: 1、–base NAME virtualbox程序里面的虚拟机的名称(注意:不是box的名字,也不是Vagr...

PHP array_multisort()函数详解

手册讲解:array_multisort() 函数对多个数组或多维数组进行排序。 参数中的数组被当成一个表的列并以行来进行排序 – 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。 一、先看最简单的情况。有两个数组: $arr1 = array(1,9,5); $arr2 = array(6,2,4); array_mul...

PHP安装memcache扩展
PHP安装memcache扩展

1、下载memcache.dll扩展 下载地址:http://pecl.php.net/package/memcache/3.0.8/windows 下载注意事项:选择匹配自己环境的版本以及线程安全版本。 2、下载完成之后,解压压缩包如下图。 将其中的php_memcache.dll 扩展文件拷贝到 php 的扩展目录中,例如(D:\wamp\bin\php\php5.5.12\ext) 3、修改php.ini文件 打开php的php.ini文件 添加一行代码: extension=php_mem...

php中钩子(hook)的应用

我们先来回顾下原本的开发流程; 产品汪搞出了一堆需求; 当用户注册成功后需要发送短信、发送邮件等等; 然后聪明机智勇敢的程序猿们就一扑而上; 把这些需求转换成代码扔在 用户注册成功 和 跳转到首页 之间; 没有什么能够阻挡;充满创造力的猿们;

php class_exists检查类是否已定义

说明 bool class_exists ( string $class_name [, bool $autoload ] ) 如果由 class_name 所指的类已经定义,此函数返回 TRUE,否则返回 FALSE。 例一  <?php   // Check the class exists before trying to use it   if (class_exists(‘MyClass’)) {     &...

php中ignore_user_abort函数的用法

PHP中的ignore_user_abort函数是当用户关掉终端后脚本不停止仍然在执行,可以用它来实现计划任务与持续进程,下面会通过实例讨论ignore_user_abort()函数的作用与用法。 ignore_user_abort() 可以实现当客户端关闭后仍然可以执行PHP代码,可保持PHP进程一直在执行,可实现所谓的计划任务功能与持续进程,只需要开启执行脚本,除非 apache等服务器重启或有脚本有输出,该PHP脚...

Linux服务器上使用CronTab定时执行php

我们先从相对比较复杂的服务器执行php谈起。服务器上安装了php,就可以执行php文件,无论是否安装了nginx或Apache这样的服务器环境软件。而Linux中,使用命令行,用CronTab来定时任务,又是绝佳的选择,而且也是效率最高的选择。 首先,进入命令行模式。作为服务器的linux一般都默认进入命令行模式的,当然,我们管理服务器也一般通过putty等工具远程连接到服务器,为了方便,我们用ro...

html meta中的viewport指令

<meta name=”viewport” content=”width=240, height=320, user-scalable=yes, initial-scale=2.5, maximum-scale=5.0, minimun-scale=1.0”> width 和height指令分别指定视区的逻辑宽度和高度。他们的值要么是以像素为单位的数字,要么是一个特殊的标记符号。width指令使用device- width标记可以指示视区宽度应为设备的屏幕宽度。类似地height指令使用device-height标记指示视区...

详解spl_autoload_register()函数

在了解这个函数之前先来看另一个函数:__autoload。 一、__autoload 这是一个自动加载函数,在PHP5中,当我们实例化一个未定义的类时,就会触发此函数。看下面例子: printit.class.php <?php class PRINTIT {  function doPrint() {   echo ‘hello world’;  } } ?> index.php <? function __autoload( $class ) {  $file = $class . ‘.class.php&#...

CSS3属性transform详解

在CSS3中,可以利用transform功能来实现文字或图像的旋转、缩放、倾斜、移动这四种类型的变形处理,本文将对此做详细介绍。 一.旋转 rotate 用法:transform: rotate(45deg); 共一个参数“角度”,单位deg为度的意思,正数为顺时针旋转,负数为逆时针旋转,上述代码作用是顺时针旋转45度。 二.缩放 scale 用法:transform: scale(0.5)  或者  transform: scale(0.5, 2); 参数表示缩放倍...

CSS3 Transition

css3的transition这是样描述的:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。” 下面我们同样从其最语法和属性值开始一步一步来学习transition的具体使用 语法: transition : [ || || || [, [ || || || ]]* transition主要包含四个属性值:执行变换的属...

Jquery学习笔记:typeof的使用

typeof语法: typeof([extension]) 即typeof后边跟一个表达式,要不要括号都可以。它将返回一个字符串,表示表达式的类型,而表达式的类型只有六种可能:number、string、boolean、object、function、undefined typeof的误用: if (x == undefined) if (typeof(x) == undefined) 正确的应该是 if (typeof(x) == “undefined”) 对比这两句话: //var x; if (typeof(x) == ...

js根据身份证号获取性别或者年龄

//获取身份证号的年龄 UUserCard 省份证号 function discriCard(UUserCard){ UUserCard.substring(6, 10) + “-” + UUserCard.substring(10, 12) + “-” + UUserCard.substring(12, 14); //获取出生日期 获取性别 if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {   //是男则执行代码 … alert(“男”); } else { //是女则执行代码 … a...

PHP等额本息,等额本金计算方式

最近做项目碰到了等额本金和等额本息的问题,若您不了解这两种方式 点这里看 否则直接跳过看代码,此代码也可以用于房贷计算器项目的开发。 等额本息 function debx() { $dkm     = 240; //贷款月数,20年就是240个月 $dkTotal = 10000; //贷款总额 $dknl    = 0.0515;  //贷款年利率 $emTotal = $dkTotal * $dknl / 12 * pow(1 + $dknl / 12, $dkm) / (pow(1 + $dknl / 12, $dkm) ...

等额本息或等额本金计算公式

等额本息计算公式:〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕 等额本金计算公式:每月还款金额 = (贷款本金 ÷ 还款月数)+(本金 — 已归还本金累计额)×每月利率 其中^符号表示乘方。 举例说明 假设以10000元为本金、在银行贷款10年、基准利率是6.65%,比较下两种贷款方式的差异: 等额本息还款法 月利率=年利率÷12=0.0665÷12=0.005541667 月还...

Ubuntu开放mysql远程3306端口

最近在玩ubuntu,装完PHP+MYSQL的环境后,用Navicat连接mysql时发现怎么也连接不上,即使将root设置为了%号后依然无效,于是发现原来是mysql的3306端口未对外开放,找到原因就好解决啦! 1、首先查看端口是否打开 netstat -an|grep 3306 上图的3306端口显示的是:127.0.0.1表示的是本地 2、打开mysql配置文件sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将bind-address = 127.0.0.1...

Ubuntu建立svn的方法-站长亲自测试过

1、首先准备好软件工具,Ubuntu安装软件那可是相当的方便阿   sudo apt-get install subversion 2、创建仓库文件夹:   cd /home   sudo mkdir svn   /usr/local/svn# sudo chown -R 777 svn   /usr/local/svn# sudo chmod -R 777 svn 最后的一条命令赋予组成员对所有新加入文件仓库的文件拥有相应的权限。 本来应该是添加相应组权限的,但是既然是最简单方法嘛,就省略了...

ubuntu 关机,重启,注销命令

1、关机命令 shutdown 好像ubuntu的终端中默认的是当前用户的命令,只是普通用户,因此在终端器中可以使用sudo -sh 转换到管理员root用户下执行命令。 1)shutdown –help 可以查看shutdown命令如何使用,当然也可以使用man shutdown命令。 2) shutdown -h now 现在立即关机 3)shutdown -r now 现在立即重启 4)shutdown -r +3 三分钟后重启 5)shutdown -h +3 “The System will shutdown ...

Ubuntu快速搭建SVN服务器及日常使用

1、介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情 况。这样就可以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。 2、SVN相关命令了解 svn:命令行客户端 svnadmin:用来创建、调整或修复版本库的工具 svnserve:svn服务程...

使用Xshell连接Ubuntu

Xshell是一个安全终端模拟软件,可以进行远程登录。我使用XShell的主要目的是在Windows环境下登录Linux终端进行编码,非常方便。本文简单介绍下它的使用方法。 首先,判断Ubuntu是否安装了ssh服务: 1、输入:#ps -e |grep ssh 如果服务已经启动,则可以同时看到“ssh-agent”和“sshd”,否则表示没有安装服务,或没有开机启动 2、安装ssh服务,输入命令:#sudo apt-get install openssh...

PHP中const与define的区别

1、const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。 2、const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量 3、const可在类中使用,define不能。 4、const不能在条件语句中定义常量。 例如: [cc lang=”php”] if (…){ const FOO = ‘BAR’;  // 无效的invalid } if (...

linux下的find文件查找命令与grep文件内容查找命令

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。 一.find命令     基本格式:find  path expression 1.按照文件名查找 (1...

返回顶部
切换注册

登录

切换登录

注册