在Centos上安装高版本Apache+php5.5+Mysql 5.5

在centos直接使用yum install 安装php的话版本比较低,如果需要高版本的话,请看如下:

Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护。有个这个源之后,使用 YUM 安装或更新 PHP、MySQL、phpMyAdmin 等服务器相关程序的时候就非常方便了。

Step 1: 安装 Remi Repository

## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 - 32 Bit ##
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 - 64 Bit ## (6.5也可用)
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 

## Install Remi Repository on RHEL/CentOS 5.9-5.0 - 32 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

## Install Remi Repository on RHEL/CentOS 5.9-5.0 - 64 Bit ##
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

Step 2: 安装 Apache, MySQL 5.5.32 & PHP 5.5.0

# yum --enablerepo=remi,remi-test install httpd mysql mysql-server php php-common

Step 3: 安装 PHP 5.5.0 模块

# yum --enablerepo=remi,remi-test install php-mysql php-gd php-mbstring php-xml

Step 4: 启动服务并配置 Apache & MySQL 5.5.32

service httpd start
service mysqld start
#下面定义mysql的root密码
/usr/bin/mysqladmin -u root password 'password'

CentOS更改SSH端口

修改配置文件:/etc/ssh/sshd_config ,找到#port 22

先将Port 22 前面的 # 号去掉,然后把22更改成你想要的端口

修改完毕后,重启SSH服务,并退出当前连接的SSH端口

service sshd restart

Debian双网卡设置

环境:eth0是外网,eth1是内网

1.

首先在/etc/network/interfaces里加入下面的内容;这里eth0与外网连,eth1与内网连。

auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet dhcp
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

2.

echo "1" > /proc/sys/net/ipv4/ip_forward

或修改/etc/sysctl.conf,将下面这句的#号去掉

net.ipv4.ip_forward = 1

3.

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

4.

reboot重新启动计算机。双网卡就可以用了。

C#中Array和ArrayList的区别及泛型

1. Array类型的变量在声明的同时必须进行实例化(至少的初始化数组的大小),而ArrayList可以只先声明。

2. Array只能存储同构的对象,ArrayList可以存储异构变量。

这里有一个装箱和拆箱的概念,在以后会用到:如将String,int等隐式转化为Object是装箱,将Object强制转化为string,int是拆箱。在向Arraylist添加数据的过程中,对象先被装箱为Object,需要调用时再拆箱为对应的对象。但在这个过程中,强制转化加上ArrayList的异构特性,可能导致很多问题。由此提出了泛型的概念。

3. 在CLR托管的存放方式.

Array是始终连续存放的,ArrayList不一定是。

4. 初始化大小

Array对象的初始化必须制定大小,且创建后的数组大小是固定的,而ArrayList的大小可以动态指定。

关于泛型:

ArrayList是一个非泛型集合类,添加到ArrayList中的任何引用或值类型都将隐式向上强制转换为Object,如果项是值类型,则必须在将其添加到列表中是进行装箱操作。

泛型是最常见的用途是创建集合类。.Net Framework类库在Collection.Generic命名空间中包含ijge泛型集合类。List<T>类是ArrayList类的泛型等效类。使用大小可以按需动态增加的数组实现IList泛型接口。动态数组的好处是不必须事先设置较大的数组,减少不必要的内存开销。

如何自己真正的分析并解决电脑蓝屏

这篇文章不是写给不愿意探究问题的小白写的。及时你之前没做过蓝屏分析,只要你仔细看这篇文章,还是可以获得收获的。

这里我就不再说什么请拔插内存,清理风扇,重装系统等解决方法了,这种东西在百度知道搜索一堆一堆的。不能说这些没有道理,不过基本上都是千篇一律且效率低下。

首先我们需要一款分析软件叫做WinDbg,是一款强大的内核态调试工具,下载地址如下:

32位(x86)版本:百度网盘

x64位版本:百度网盘

下载完成后我们运行windbg.exe,按下ctrl+s添加符号表(此步必须)

SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols

QQ截图20150303095439

然后我们就可以打开dump文件了,这个文件请从系统目录中拷贝出来,比如win8是C:\Windows\Minidump\

QQ截图20150303095712

弹出的对话框请选中复选框并选择no

QQ截图20150303100018

 

接下来等待一段时间,日志窗口会显示Loading Kernel Symbols…

最后显示的结果类似下面

QQ截图20150303100228

System Uptime是系统运行多长时间之后发生了崩溃,而Probably caused by后面就是崩溃的原因,这里看到是NETIO.SYS,所以我们尝试了重新安装网卡的所有驱动后,问题解决。

 

 

用Ollydbg去除软件的托盘图标

最近笔者一直想把一个软件的托盘图标去掉,之前尝试了通过往托盘区域发送隐藏图标的消息来实现,发现效果并不好。

果然这种修改软件的任务还是交给Ollydbg来执行吧。

首先,你需要有这款软件,可以去http://www.cr173.com/soft/32097.html下载,这个还是可以用的。

我们先把应用程序拖入OD,然后右键选择“查找”→“所有模块间调用”

QQ截图20150122170024

然后我们找到Shell_NotifyIconA,这个就是放置托盘图标的API

QQ截图20150122170140

这里有三个API,我们推断程序打开时需要放置图标,退出时需要删除图标,中途可能还需要改变一次图标,所以我们双击第一个放置图标的代码,来到下面的窗口

QQ截图20150122170226

然后我们右键这段代码,选择跟随(如下图)

QQ截图20150122170247

来到关键的jmp处,我们双击这段jmp将它修改为nop(不知道nop意思的同学去百度查一下)

QQ截图20150122170324

修改完了大概就是下面这个意思

QQ截图20150122170345

然后我们再右键,选择复制到可执行文件→所有修改,然后选择复制

QQ截图20150122170406 QQ截图20150122170422

来到下面这个窗口,点击保存文件,会弹出保存对话框。保存完之后再运行程序看看托盘图标是不是就没有了?

QQ截图20150122170454