追踪php的执行过程
作者:阿川 发布时间:December 27, 2017 分类:编程开发
ps -ef | grep fpm | awk '{print "-p " $2}' | xargs strace
无限遍历多维数组
作者:阿川 发布时间:January 29, 2017 分类:编程开发
$arr/多维不规则数组
function forarr($m){ foreach ($m as $v) { if (is_array($v)) { forarr($v);//递归 } else { echo $v ." "; } } } $how=forarr($arr1); echo $how;
当sql server提示你注册了用户又无法登陆的解决办法
作者:阿川 发布时间:August 10, 2014 分类:编程开发
最近在给客户调试他的程序.发现每次都可以注册成功用户.但是每次都没办法登陆进去.客户代码提示的是注册成功.先去查看数据库,发现数据库里面确实木有用户.于是改配置文件,让这货显示错误信息
在conn.asp中注释掉
On Error Resume Next
添加这货让他显示错误
On Error Goto 0
接着继续注册.提示
Provider 错误 '80020005' 类型不匹配.
显示第regs/regsave.asp中122行有问题.
Rs("daili") ="0""4"
改成
Rs("daili") ="4"
继续注册,这会儿提示
请执行 sp_addlinkedserver 将该服务器添加到 sysservers.
原来是计算机名不对..改过来
1:查找老服务器
SELECT @@SERVERNAME
2:修改服务名(现有服务器名一般为计算机名)
EXEC sp_dropserver 原服务器名 EXEC sp_addserver @server=''现在的服务器名, @LOCAL = LOCAL
之后重启服务.
接着又提示
SQL Server未将服务器 DBSERVER 配置为用于 DATA ACCESS.
DBSERVER一般也是计算机名.继续sql
USE MASTER; EXEC sp_serveroption 'DBSERVER', 'data access', 'on';
之后,再注册
又特么提示错误
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23'
[Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。
这种错误通常是更改了计算机机器名引起的.接着重启机器.记得是重启机器啊啊啊啊重启机器...我特么在这里被玩疯了.一直重启服务,一直提示这玩意错误..最后重启机器后解决..然后再注册.发现注册成功,
接着把reg/regsave.asp中的
Rs("daili") ="4"
改成
Rs("daili") ="0""4"
打完收工...一切看起来都是那么正常..
The VDI is not available
作者:阿川 发布时间:September 27, 2012 分类:编程开发
1. 先找到此虚拟机对应的Vbd list
xe vbd-list vm-uuid=1201d1a2-599b-d058-8949-dd6ebb4e3f2b
2. 我们看到此虚拟机对应的VDI的
vdi-UUID=b23b87f3-f6d1-402e-bc19- 1b0f13d7a2e5
3. Detach此VDI
xe vdi-forget uuid=5cc8945e-7ee6-58d1-d2f0-999dcb3b7394
4. 在重新scan此VDI所在的存储
xe sr-scan uuid=04868730-71ab-551f-3fe6-8178a97acb23
5. 将原来的VDI重新挂载到原来的虚拟机
xe vbd-create vdi-uuid=b23b87f3-f6d1-402e-bc19-1b0f13d7a2e5 vm-uuid=8017032a-7fee-5f77-b1e1-19e82422f924 bootable=true device=0 type=Disk mode=RW
注:将此VDI重新挂载到VM
Bootable=yes:从此VDI启动 Device=0:第一个磁盘,如果有第二个,过程同上 Mode=RW:此磁盘可以读写
重新启动虚拟机,可以正常启动
通过伪静态解决中文乱码
作者:阿川 发布时间:June 11, 2012 分类:编程开发
当在网站使用伪静态的时候.显示中文出现乱码.不妨在你的伪静态页面中加上[QSA,NU,PT,L]试试
比如将
RewriteRule ^(.*)$ index.php?$1 [L]
改成
RewriteRule ^(.*)$ index.php?$1 [QSA,NU,PT,L]
试试效果.
主要是NU这个,加上去就不会乱码,但直接显示的中文.
每日备份mysql到网站目录
作者:阿川 发布时间:October 27, 2011 分类:编程开发
今天一客户的VPS被入侵,这位高人直取该客户的数据库.删除数据库后还不算完..还不能让你有喘息的机会,接着拿了一堆文件来反复读写,最后将文件系统破坏的一塌糊涂...阿川和几位朋友整整折腾了24小时未果...再咬牙的同时,做了这么一个备份数据库到网站根目录的脚本,至于你备份数据之后想干嘛......那就是你的事了..比如可以上传到其他的FTP空间,还可以发邮件给你自己,等等.大家举一反三.多多注意安全.以下是脚本内容
#!/bin/bash MYSQL_USER=数据库用户名 MYSQL_PASS=密码 MYSQL_DATA=用户名 DataBakName=Data_$(date +"%Y%m%d").tar.gz rm -rf /home/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz /usr/local/mysql/bin/mysqldump -u$MYSQL_USER -p$MYSQL_PASS --databases $MYSQL_DATA --lock-tables=false > /home/backup/databackup.sql tar zcf /home/backup/$DataBakName /home/backup/databackup.sql rm -rf /home/backup/databackup.sql
保存退出
或者直接在你的VPS上执行
wget -c http://down.kiiyi.com/backup.sh
之后,给权限
chmod +x backup.sh
然后,利用系统crontab实现每天自动运行
crontab -e
输入以下内容
00 00 * * * /root/backup.sh
其他的crontab可以参考linux中Cron定时任务系统命令详解
Linux下如何简单的防止CC攻击
作者:阿川 发布时间:September 21, 2011 分类:编程开发
Nginx 0.7开始提供了2个限制用户连接的模块:NginxHttpLimitZoneModule和NginxHttpLimitReqModule。
NginxHttpLimitZoneModule可以根据条件进行并发连接数控制。
NginxHttpLimitReqModule可以根据条件进行请求频率的控制。
http { limit_zone my_zone $binary_remote_addr 10m; limit_req_zone $binary_remote_addr zone=my_req_zone:10m rate=1r/s; }
server { ... location ~ ^/bbs/(index|forumdisplay|viewthread).php$ { limit_conn myzone_bbs 3; limit_req zone=bbs burst=2 nodelay; ... }
应用这条规则后,bbs目录下的index.php、forumdisplay.php和viewthread.php这些页面同一个IP只许建立3个连接,并且每秒只能有1个请求(突发请求可以达到2个)。
Linux上iptables防火墙的基本应用教程
作者:阿川 发布时间:September 15, 2011 分类:编程开发
iptables是Linux上常用的防火墙软件,下面vps侦探给大家说一下iptables的安装、清除iptables规则、iptables只开放指定端口、iptables屏蔽指定ip、ip段及解封、删除已添加的iptables规则等iptables的基本应用。
1、安装iptables防火墙
如果没有安装iptables需要先安装,CentOS执行:
yum install iptables
Debian/Ubuntu执行:
apt-get install iptables
2、清除已有iptables规则
iptables -F iptables -X iptables -Z
3、开放指定的端口
#允许本地回环接口(即运行本机访问本机) iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # 允许已建立的或相关连的通行 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许所有本机向外的访问 iptables -A OUTPUT -j ACCEPT # 允许访问22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问80端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许FTP服务的21和20端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT #如果有其他端口的话,规则也类似,稍微修改上述语句就行 #禁止其他未允许的规则访问 iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT