centos7安装php7,亲测可行
在centos7通过yum安装PHP7,首先在终端运行: rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 提示错误: error: Failed dependencies: epel-release >= 7 is needed by webtatic-release-7-3.noarch 需要先安装epel-release。 1.安装epel-release 通过命令: yum -y install epel-release 成功安装。 2.安装PHP7 终端再次运行如下命令: rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 成功获取PHP7的yum源,然后再执行: yum install php70w 这样就大功告成了。 3.验证安装 终端命令:PHP -v,显示当前PHP版本,信息如下: [root@moliangjun /]# php -v PHP 7.0.18 (cli) (built: Apr 15 2017 07:09:11) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies 这样就在CentOS 7下通过yum安装成功PHP7. from:http://www.thinkphp.cn/topic/48196.html
View DetailsCentOS6.5搭建LNMP
1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [root@10-4-14-168 html]# chkconfig iptables off 3:配置CentOS 6.0 第三方yum源(CentOS默认的标准源里没有nginx软件包) 1 #wget http://www.atomicorp.com/installers/atomic 1 #sh ./atomic 1 #yum check-update 4:安装开发包和库文件 1 2 3 4 #yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel 5:卸载已安装的apache、mysql、php 1 2 3 # yum remove httpd # yum remove mysql # yum remove php 6:安装nginx 1 […]
View DetailsCentOS7永久更改主机名
操作环境:
[root@bogon ~]# uname -a
Linux #localhost.localdomain 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2017 i686 i686 i386 GNU/Linux
[root@bogon ~]# cat /etc/redhat-release
CentOS release 7.3.1611 (AltArch)
[root@bogon ~]#
实验要求:将centos7原主机名改为’NMserver-7.test.com'
1、方法一使用hostnamectl命令
[root@bogon ~]# hostnamectl set-hostname NMServer-7.test.com
jquery无缝向上滚动实现代码
JS部份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$(function () { var $this = $(".renav"); var scrollTimer; $this.hover(function () { clearInterval(scrollTimer); }, function () { scrollTimer = setInterval(function () { scrollNews($this); }, 2000); }).trigger("mouseout"); }); function scrollNews(obj) { var $self = obj.find("ul:first"); var lineHeight = $self.find("li:first").height(); $self.animate({ "margin-top": -lineHeight + "px" }, 600, function() { $self.css({ "margin-top": "0px" }).find("li:first").appendTo($self); }); } |
HTML部份
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<style type="text/css"> .renav { width: 200px; height: 150px; line-height: 21px; overflow: hidden; background: #FFFFFF; } .renav li { height: 21px; } </style> <div class="renav"> <ul style="margin-top: 0px;"> <li><a>罗氏</a></li> <li><a>瑞声达</a></li> <li><a>未添加1</a></li> <li><a>未添加2</a></li> <li><a>未添加3</a></li> <li><a>未添加4</a></li> <li><a>西门子</a></li> <li><a>欧姆龙</a></li> </ul> </div> |
from:http://www.jb51.net/article/35149.htm
View Detailsmysql 查询表死锁 和结束死锁的表步骤
http://blog.sina.com.cn/s/blog_66519bd80102v3ct.html 1、查询是否锁表 show OPEN TABLES where In_use > 0; 2、查询进程 show processlist 查询到相对应的进程===然后 kill id 补充: 查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; from:http://blog.csdn.net/chruan/article/details/51955775
View DetailsJS倒计时两种种实现方式
最近做浏览器界面倒计时,用js就实现,两种方式: 一:设置时长,进行倒计时。比如考试时间等等 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<html> <head> <meta charset="UTF-8"> <title>简单时长倒计时</title> <SCRIPT type="text/javascript"> var maxtime = 60 * 60; //一个小时,按秒计算,自己调整! function CountDown() { if (maxtime >= 0) { minutes = Math.floor(maxtime / 60); seconds = Math.floor(maxtime % 60); msg = "距离结束还有" + minutes + "分" + seconds + "秒"; document.all["timer"].innerHTML = msg; if (maxtime == 5 * 60)alert("还剩5分钟"); --maxtime; } else{ clearInterval(timer); alert("时间到,结束!"); } } timer = setInterval("CountDown()", 1000); </SCRIPT> </head> <body> <div id="timer" style="color:red"></div> <div id="warring" style="color:red"></div> </body> </html> |
运行结果: 二:设置时间戳,进行倒计时。比如距离活动结束时间等等 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<html> <head> <meta charset="UTF-8"> <title>js简单时分秒倒计时</title> <script type="text/javascript"> function countTime() { //获取当前时间 var date = new Date(); var now = date.getTime(); //设置截止时间 var str="2017/5/17 00:00:00"; var endDate = new Date(str); var end = endDate.getTime(); //时间差 var leftTime = end-now; //定义变量 d,h,m,s保存倒计时的时间 var d,h,m,s; if (leftTime>=0) { d = Math.floor(leftTime/1000/60/60/24); h = Math.floor(leftTime/1000/60/60%24); m = Math.floor(leftTime/1000/60%60); s = Math.floor(leftTime/1000%60); } //将倒计时赋值到div中 document.getElementById("_d").innerHTML = d+"天"; document.getElementById("_h").innerHTML = h+"时"; document.getElementById("_m").innerHTML = m+"分"; document.getElementById("_s").innerHTML = s+"秒"; //递归每秒调用countTime方法,显示动态时间效果 setTimeout(countTime,1000); } </script> </head > <body onload="countTime()" > <div> <span id="_d">00</span> <span id="_h">00</span> <span id="_m">00</span> <span id="_s">00</span> </div> </body> </html> |
运行结果: from:https://www.cnblogs.com/heizai002/p/6862418.html
View Details集合已修改;可能无法执行枚举操作
摘要 我相信很多人对这个再熟悉不过了。对已经修改的集合进行操作就会出现这个错。 解决办法 比如有下面的一段代码,我们创建一个集合,并向集合中添加10个数,然后,我们循环再将这些数移除了。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
static void Main(string[] args) { List<int> lst = new List<int>(); for (int i = 0; i < 10; i++) { lst.Add(i); } foreach (var item in lst) { lst.Remove(item); } Console.Read(); } |
出现了….. 是不是被泛型集合提供的方法坑了?我记得很久之前我也被坑过。很疑惑吧,其实也很简单,因为你如果移除了一项,集合的元素个数是变化的。这个时候元素会重排,第二个元素的索引由1变为0,后面的依次往前移动。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
static void Main(string[] args) { List<int> lst = new List<int>(); for (int i = 0; i < 10; i++) { lst.Add(i); } var result = lst; Console.WriteLine("lst的count" + lst.Count); lst.Remove(0); Console.WriteLine("lst的count" + lst.Count); for (int i = 0; i < lst.Count; i++) { Console.WriteLine("索引:{0},值:{1}", i, lst[i]); } Console.Read(); } |
上面的代码为集合添加10个元素。然后输出当前集合的count,接着将索引为0的元素移除。这个时候集合中应该没有元素0了。然后输出集合的元素个数。输出此时的集合中索引和对应的值。如图所示 可以看到,本来索引为1的1,往前移动了,此时他的索引变为了0.所以在使用foreach移除的时候,集合是变化的,是不允许的。难道就没办法操作了吗?当然有,它不是移除一个集合就少一个吗》 此时,我们可以通过for循环,从集合的队尾移除,这个时候移除队尾的元素,虽然集合的count变了,但他们的索引没有变化。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
static void Main(string[] args) { List<int> lst = new List<int>(); for (int i = 0; i < 10; i++) { lst.Add(i); } var result = lst; Console.WriteLine("lst的count" + lst.Count); lst.Remove(0); Console.WriteLine("lst的count" + lst.Count); for (int i = lst.Count - 1; i >= 0; i--) { Console.WriteLine("索引:{0},值:{1}", i, lst[i]); Console.WriteLine("移除了元素:{0}", lst[i]); lst.RemoveAt(i); } Console.Read(); } |
那么我们只移除满足条件的是否也可以通过for循环呢?当然可以,foreach你不是不让吗?又不是只有你一个可以循环。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
static void Main(string[] args) { List<int> lst = new List<int>(); for (int i = 0; i < 10; i++) { lst.Add(i); } var result = lst; Console.WriteLine("lst的count" + lst.Count); lst.Remove(0); Console.WriteLine("lst的count" + lst.Count); for (int i = 0; i < lst.Count; i++) { Console.WriteLine("索引:{0},值:{1}", i, lst[i]); if (lst[i] % 2 == 0) { Console.WriteLine("移除了元素:{0}", lst[i]); lst.RemoveAt(i); } } Console.Read(); } |
总结 前不久刚有人遇到,这里还是记录一下吧。 from:https://www.cnblogs.com/wolf-sun/p/5721457.html
View Detailswin10总是很快自动休眠怎么解决?
先修改注册表: win键+r ,输入regedit; 定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 修改attributes的值为2 然后再修改【无人参与系统睡眠超时】: 右下角点击图标 【所有设置】 【电源和睡眠】 【相关设置】下的【其他电源设置】 【更改计算机睡眠时间】 【更改高级电源设置】 展开【睡眠】 【无人参与系统睡眠超时】里把【使用电池】和【接通电源】改为你想要的分钟数 最后【确定】 以上内容整理自:https://www.zhihu.com/question/39263412 博主亲测有用,也是补困扰了好久。
View DetailsLinux下的tar压缩解压缩命令详解
tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -uf all.tar logo.gif 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。 # tar -tf all.tar 这条命令是列出all.tar包中所有文件,-t是列出文件的意思 # tar -xf all.tar 这条命令是解出all.tar包中所有文件,-t是解开的意思 压缩 tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar -cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux 解压 tar -xvf file.tar //解压 tar包 tar -xzvf file.tar.gz //解压tar.gz […]
View Details