十二 31

php源码在windows上正常运行,在linux不显示

如果确认不是php版本问题,需要检查定义常量时获取所在目录并定义ROOT根目录的方法。

windows系统路径格式与linux系统路径格式是不同的(“\”和“/”),所以在设置ROOT路径时需要先进行替换。

windows路径 D:\www\web
linux路径 /www/web

 

十二 28

MySQL语句:如果存在则更新,不存在则插入新记录

INSERT INTO … ON DUPLICATE KEY UPDATE …

表结构:

该语句是基于唯一索引或主键才可使用的,如下语句:

必要条件:其中字段id或keyword或count,至少有一个字段属性是主键或唯一索引。

语句解释:如果查询主键id=1或者唯一索引keyword=’织梦先生’的记录存在,则更新此记录的count字段 count=count+1;如果没有查询主键id=1或者唯一索引keyword=’织梦先生’的记录都不存在,则插入一行记录。

其它:

假定id=1的记录存在,则下面语句与上面语句是等效的

 

十二 18

JQuery获取DIV宽度与高度(width,padding,margin,border)

一般讲的宽度指的是内容宽度,但一个 div 的实际宽度不仅只于内容宽度,尤其在做 CSS 排版时更不能搞错,必须同时考虑 Padding、Border 与 Margin 的宽度,四个加起来才是 div 真正占有的宽度。

JQUERY 获取 DIV 宽度与高度(width,padding,margin,border)全都有了!

宽度与高度概念一样,只差水平与垂直向而已。

Margin 有个特色,就是当两个有 margin的 div 靠在一起时,两个 div 紧邻的 margin 不是相加,而是取其大者,举例来说,两个 10px margin 的 div 并在一起只会有 10px margin 的距离,若是一个 20px margin,另一个为 10px margin,则会有 20px 的 margin。

但是获取当前元素的全部宽度的时候,还是获取自身的margin+content+padding+border的值。

十二 06

两个故事理解阻塞非阻塞与同步异步的区别

故事一:

“阻塞”与”非阻塞”与”同步”与“异步”不能简单的从字面理解,提供一个从分布式系统角度的回答。
1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。
换句话说,就是由*调用者*主动等待这个*调用*的结果。

而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。 Continue reading

十二 06

mutable variable accessible from closure

使用WebStorm开发百度地图API时,在WebStorm中变量new_info提示:mutable variable accessible from closure…,译:可从闭包中访问的可变变量。在实际运行中,函数_translateCallback2()的形参info接收到元素的个数总是小于变量new_info传入元素个数,原因是在translate()函数的回调没有执行完,for就进行了下一个循环,或者是下几个循环。

解决方法:

1、在使用for循环时,不要使用带有回调函数的方法;

2、如果一定要使用带有回调函数的方法,那就用立即执行匿名函数括起来,如下:

(function(){ …… })(i);

 

十一 20

Linux修改开放22等端口方法

如果是Kali版本,直接看>>Kali开启SSH远程连接或者无法连接解决方法

第一种:

01假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。

02假如要限制SSH登陆的IP,那么可以如下做:

先:修改/etc/hosts.deny,在其中加入sshd:ALL

然后:修改:/etc/hosts.allow,在其中进行如下设置:sshd:192.168.0.241

这样就可以限制只有192.168.0.241的IP通过SSH登陆上LINUX机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东东都不装,这样增加安全系数。

第二种:

首先修改配置文件
vi /etc/ssh/sshd_config

找到#Port 22一段,这里是标识默认使用22端口,修改为如下:

Port 22
Port 50000
然后保存退出

不是一定要开两个SSH端口的,只是在linux主机是你的服务器时,防止因为未知原因造成新开设的端口不可用,而旧端口又关闭了,又没有其它可连接主机的方法,使用你无法登录主机,带来不必要的麻烦。

开启SSH服务

/etc/init.d/sshd restart

如果没有 /etc/init.d/sshd,那么就用如下命令:

/etc/init.d/ssh restart

开启SSH服务一定要使用绝对路径,有时直接用ssh restart会报错

自己可以试着来,

另一种启动SSH服务方式

先看看服务器有没有ssh

service –status-all

如果存在

[ - ]  sshd

[ - ]  ssh

可在使用

service sshd restart

或者

service ssh restart

这样SSH端口服务就启动了,如果上面设置了两个端口,那么22和50000将同时工作。

现在编辑防火墙iptable配置:

参考本站相关内容:

iptables查看、开放、删除端口、保存设置

Linux Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息

有直接改文件的 vi /etc/sysconfig/iptables ,一是不建议,二是不同Linux发行版文件路径不同,甚至于有些发行版,在/etc下根本就没有iptables文件,那文件也不是法定的就放在那个路径,但是命令是相同的。

使用命令增加iptables规则:

iptables -A INPUT -p tcp –dport 22 -j ACCEPT

开放其它端口方法,同上

生效iptables规则
/etc/init.d/iptables restart

在这里可能会出现问题,就是说找不到/etc/init.d/iptables

或者 执行上面命令报错,

一般,如果Linux主机做为服务器使用的话,安装宝塔或者WDCP就可以,

那样就不用你这样的操作命令了,在管理后台的界面点点点就可以了。

但是,如果想折腾的,在这里卡住,实在实在没有办法了,看我的另一篇文章。

我最新碰到的问题,在今年(2020年)新安装在Hyper-V中的Kali后,就卡在这里了,最后,就只能用粗暴点的方法解决Linux Kali iptables开放22端口失败等一系列问题

现在请使用ssh工具连接50000端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。

之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。

第三种:

如果以上两种方法都不好使,如果你的系统是kali的,下面这种方法一定是有效的。

Kali开启SSH远程连接或者无法连接解决方法

十一 17

vim常用命令汇总

所有命令都是在非输入状态下的,也就是按一下Esc后的状态。

标记类
命令 “ma” 用 a 标记当前的光标位置,命令 “md” 用 d 标记当前的光标位置,依此类推…,可以在文本中使用 26 个标记(a到z)。这些标记是不可见的,只是一个由 Vim 记住的位置。

m[a-z]

设置标记。

`[a-z]

调用标记,按键 反引号+字母。 Continue reading

十一 16

Linux使用vi或vim编辑汉字乱码

如果是vi则修改/etc/virc这个文件;如果是vim则修改/etc/vimrc这个文件;

打开文件后,到文件最末尾另起一行,把下面配置代码加上,保存并退出。重新打开编辑器输入汉字看看是否还乱码。

如果希望编辑器显示行号,那就把下面的也加上

十一 16

Linux CentOS6.5(x86_64)安装Perl5.26

Perl下载页面 https://www.activestate.com/activeperl/downloads 按系统下载
我的Linux系统自带的perl是5.10的;

现在我要装最新版本的5.26

执行安装文件,如果有报错提示:perl/bin/perl: /lib64/libc.so.6: version `GLIBC_2.14′ not found (required by perl/bin/perl),请看CentOS中安装Perl时出错解决方法 Continue reading