自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 python网络编程SocketServer

假设已经有一个发送tcp数据包的客户端程序,现在需要

2014-07-08 11:17:25 941

原创 Eclipse+cdt+cygwin配置C/C++开发环境

Cygwin 是一个用于 Windows 的类 UNIX shell 环境。通过cygwin可以在windows下开发编译linux下运行的c/c++程序。1.在eclipse官网下载安装eclipse,我用的的eclipse v4.3.1。2.安装cdt插件,打开eclipse,打开help->install new software,搜索”cdt”,找到相应的cdt插件并安装。

2014-07-07 15:06:38 6503

原创 MySQL使用udf调用系统程序

需要在mysql里调用系统程序执行,这个功能mysql默认不提供,但可以通过定义udf(自定义函数)实现。好在开源社区里已经有人为我们实现这个程序了。1.下载lib_mysqludf_sys程序:https://github.com/mysqludf/lib_mysqludf_sys2.解压文件,在源码目录里编译源代码:gcc -DMYSQL_DYNAMIC_PLUGIN

2014-07-07 15:05:34 8572 1

原创 MySQL索引介绍

索引类型,MySQL索引在存储引擎而不是服务器层实现,所以没有统一的索引标准。1、B-Tree索引,当人们谈论索引时,若没有特别指明类型,那多半是说B-Tree索引,大多数MySQL引擎都支持这种索引。要使用B-Tree索引查询条件必须要从索引列的最左侧开始查找,且不能跳过中间的列。2、哈希索引,基于哈希表实现,只有精确匹配索引所有列的查询才有效。仅Memory(和NDB)支持。

2014-07-07 15:04:51 528

原创 MySQL数据类型优化

MySQL数据类型众多,选择正确的数据类型对于获得高性能至关重要。遵从以下几条原则有助力做出更好的选择。1、更小的数据类型。更小的数据类型通常更快,因为它们占用更少的磁盘、内存和CPU缓存,并且处理时需要的CPU周期也更少。但也要确保自己没有低估需要的存储范围。2、简单的数据类型。简单的数据类型通常需要更少的CPU周期。例如,整形比字符操作代价更低,使用MySQL内建类型存储日期和

2014-07-07 15:03:47 501

原创 Linux下如何使用autotools(autoconf/automake)

编写了一个Linux下发送udp数据包的程序,现要创建Makefile文件,方便以后安装,以下为我的安装过程记录。程序代码就不公布了,保密。。。。。。此处省略代码一万行。。。。。1.生成configure.in命令:autoscan结果得到configure.scan文件,将该文件名改为configure.in。修改configure.in部分内容如下AC_

2014-07-07 15:02:31 1221

原创 tinyMCE粘贴word/html时去掉文本里的样式

tinyMCE是一款非常优秀的在线编辑器。在默认配置下,当我们粘贴word/html时,word/html里的样式也会一起粘贴进来,有没办法在粘贴时只粘贴文本文字呢?在初始化tinyMCE我们加上如下配置就能做到:

2014-07-07 14:35:43 7995 3

原创 PHP Session文件的散列存储及过期删除

因为服务器访问量大,产生了大量的session文件,若这些文件默认都保存在/tmp目录下,会造成服务器性能问题,所以需要把session文件散列存储。session_save_path(“2;0666;/var/www/html/session”);php并不会自动创建这些目录,所以我写了个shell脚本来创建这些目录:#! /bin/shsubdir="session

2014-07-07 14:33:55 1810 2

原创 PHP处理二进制数据

PHP处理二进制数据需要用到pack()和unpack()。pack()用来将数据转成二进制数据,使用方法如下:pack(“LL”, 0,1);pack(“C”, a);unpack()可以将二进制数据解析成关系数组,它接受2个参数,使用方法如下:$arr = unpack(“Chead”, $binstream);   //读取第1个字节$arr

2014-07-07 14:32:37 10415

原创 C语言实现字符转unix时间戳

在PHP中把字符串转成Unix时间戳是多么的方便,一个strtotime()函数就搞定了。C语言实现就麻烦很多了,需要先转成tm类型,再得到它的Unix时间戳。附上实现代码:#include #include int strtotime(char datetime[]){struct tm tm_time;int unixtime;strptime(datetime

2014-07-07 14:30:27 7402

原创 使用cwRsync实现Windows/Linux间文件同步

linux服务器间的文件同步使用rsync这款工具,那windows与linux间的文件同步该怎么办,rsync肯定不能直接在windows下运行。有人可能会想到用ftp协议的工具,但这个方案还得在linux上安装ftpd,占用了宝贵的服务器资源,在传输过程中还会占用大量带宽。cwRsync是运用于windows 平台的数据同步机制,等于是Windows平台的 rsync解决方案。cwRs

2014-07-07 14:26:55 2717

原创 判断两个时间段是否重叠的算法

判断两个时间段是否重叠,如:startdate1 — enddate1startdate2 — enddate2两个时间的重叠分4种情况,若你一一列出这四种情况来判断是否重叠那就弱爆了,最简单的方法:startdate1 =startdate2若你无法理解上面这种方法,那我还有下面的方法提供给你:(startdate1 BETWEEN startda

2014-07-07 14:24:58 33546 14

原创 discuz!主题列表页显示每个帖子的版块名

如何让discuz!主题列表页显示每个帖子的版块名?很多同学可能不解,为什么要这么做?当我在A版块时这些帖子当然都属于A版块了,这个一看就知道了,何必加这一项?其实不然,至少全局置顶的帖子就看不出属于哪个版块,更重要的是这么做有利于SEO,可以增加各个版块的权重。下面以discuz! x2.5为例讲解如何让discuz!主题列表页显示每个帖子的版块名,此方法不适用其它版本的discuz!

2014-07-07 14:22:44 11058

原创 中国银行支付接口(ecshop版)

中国银行的支付接口只提供有java版,众所周之ecshop是采用php开发的,这让我们如何用php开发java的东东呢?办法始终是有的,我们可以先在ecshop里用php生成订单,提交给nginx,nginx转发的tomcat,再通过jsp文件完成订单签名,将订单数据发送给中国银行处理。先看这个处理订单签名,发送B2C支付数据的jsp文件,我将它命名为index.jsp

2014-07-07 14:21:27 7880 2

原创 解决Only a type can be imported. * resolves to a package

开发中国银行支付网关时碰到了这个问题。我想在index.jsp中导入PKCS7Tool,代码如下:运行时报错:An error occurred at line: 9 in the generated java fileOnly a type can be imported. com.bocnet.common.security.PKCS7Tool resolves to

2014-07-07 14:17:19 37761 1

原创 简单5步完美解决Ecshop与jQuery冲突的问题

以下方法经博主测试,确实可行。ECShop与jQuery冲突的问题由来已久,解决方法大多繁琐,且在一些小地方会出错,如产品比较功能等,本文中的方法结合了网上最新公开文章与本站实际开发过程中的经验,基本上可完美解决ECShop与jQuery的冲突,经测试,兼容ECShop原有所有的功能,包括产品比较功能,而且修改步骤简单明了:1、修改文件:/js/transport.js在文

2014-07-07 14:13:31 8653 2

原创 MySQL的全局变量与会话变量

系统变量又分为全局变量与会话变量。全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通过更改my.ini这个文件来更改。会话变量在每次建立一个新的连接的时候,由MYSQL来初始化。MYSQL会将当前所有全局变量的值复制一份。来做为会话变量。(也就是说,如果在建立会话以后,没有手动更改过会话变量与全局变量的值,那所有这些变量的值都是一样的。)全局变

2014-07-07 14:12:16 1364

转载 安装mod_deflate启用apache的GZIP压缩

gzip原本是文件压缩格式,扩展名为.gz,HTTP协议用它来改进WEB应用程序性能,加快HTTP请求返回内容的下载速度,增加用户体验,降低网络带宽占用apache内置有mod_deflate模块来启用gzip功能,但假如安装apache的时候没有编译相关模块,就需要你手动安装一次,以启用它:首先到你的apache源码目录,查找到mod_deflate.c文件Mac及L

2014-07-07 14:12:05 554

原创 PHP包含文件的路径问题

在PHP中的文件包含的函数有include,include_once,require,require_once,关于这些函数的参数也就是需要包含文件的路径问题可能会被大家忽略。   以前总以为include(’path.php’)和include(’./path.php’)这两个都是表示相同的路径,其实事实并非这样。   include(’path.php’) 这样表示的是包含文件

2014-07-07 14:09:08 4103

原创 在.htaccess文件中加入php_flag后网站报错

服务器上安装的WHM,其PHP的display_errors设置为Off,现在想在单个的网站上把display_errors设置为On,于是便想到了Apache的.htaccess文件。编辑网站根目录下的.htaccess文件,在里面加入如下代码:php_flag display_errors on再刷新网站时出现500错误了,查看apache的error_log找到了如下的错误信息

2014-07-07 14:03:54 5092

原创 Magento多图批量导入

Magento在批量导入产品时,无法导入一个产品上传的多张小图,这篇文章就是来解决这个问题的。1.复制 app/code/core/Mage/Catalog/Model/Convert/Adapter/Product.php 这个文件到app/code/local/Mage/Catalog/Model/Convert/Adapter/Product.php。2.添加代码到app/c

2014-07-07 14:02:02 2332

原创 Magento报错General error: 1030 Got error 28 from storage engine

打开一个Magento的网站突然报错了,到服务器上查看了下错误报告,内容如下:a:5:{i:0;s:69:"SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine";i:1;s:2217:"#0 /home/website/public_html/buy/lib/Zend/Db/Statement.php(30

2014-07-07 14:01:13 4316

原创 使用WHM重新编译Apache+PHP环境

WHM中有个EasyApache功能,它可以简单轻松的加载各种模块、选择最新的PHP版本、编译Apache等。下面以使服务器支持GD库为例,讲述如何使用WHM的EasyApache功能加载各种扩展模块。1.点击WebHost Manager主界面的Software进入软件菜单;2. 点击EasyApache (Apache Update);3. 点击下方的Start

2014-07-07 14:00:17 1658

原创 不用输入帐号密码登录MySQL的方法

在Linux下每次登录MySQL都要输入帐号密码,这比较繁琐,可以通过在主目录下放入密码文件,使用户不用输入帐号密码而直接登录MySQL。cd ~touch /root/.my.cnf在.my.cnf中加入如下代码:[client]host=localhostuser='root'password='root'保存后修改后文件的权限chmod 700 /root

2014-07-07 13:59:04 11927

原创 Linux下使用nohup让一个程序在退出登陆后继续运行

Linux下如果想让一个程序在后台运行,很多都是使用 & 在程序结尾处来实现的,比如我们想让mysqld在后台运行:/usr/local/mysql/bin/mysqld_safe –user=mysql &但是Linux下有很多程序并不像mysqld一样是守护进程,像find,copy这类的普通程序使用 & 结尾,如果终端关闭了,那么程序也会一起被关闭。可喜的是我们可以使用noh

2014-07-07 13:57:17 2187

原创 解决Linux下cannot restore segment prot after reloc: Permission denied问题

/usr/local/apache/bin/apachectl starthttpd:Syntax error on line 105 of /usr/local/apache/conf/httpd.conf:Cannot load /usr/local/apache/modules/libphp5.so into server:/usr/local/apache/modules/libp

2014-07-07 13:54:31 485

原创 解决安装fastcgi后$_SERVER['REQUEST_URI']为空的问题

因为网站并发数的不但提升,为了提高服务器的处理请求的性能决定安装fastcgi(服务器部署的LAMP环境),正确的安装完成后发现网站的新闻 页面都404了,这些页面都使用了URL重写来优化网站,通过调试后笔者发现$_SERVER['REQUEST_URI']的值为空,于是我 将$_SERVER['REQUEST_URI']变量替换成$_SERVER['REDIRECT_URL'],可喜的是那些原本

2014-07-07 11:03:52 3392

原创 简述CGI、mod_php与FastCGI之间的区别

CGI模式在2000年或更早的时候用得比较多, 以前web服务器一般只处理静态的请求,如果碰到一个动态请求怎么办呢?web服务器会根据这次请求的内容,然后会fork一个新进程来运行外部c程序 (或perl脚本…), 这个进程会把处理完的数据返回给web服务器,最后web服务器把内容发送给用户,刚才fork的进程也随之退出。 如果下次用户还请求改动态脚本,那么web服务器又再次fork一个新进程,周

2014-07-07 11:01:43 1791

原创 查看Apache并发请求数及其TCP连接状态

内容摘要:这两天搭建了一组Apache服务器,每台服务器4G内存,采用的是prefork模式,一开始设置的连接数太少了,需要较长的时间去响应用户的请求,后来修改了一下Apache 2.0.59的配置文件httpd.conf# prefork MPM# StartServers: number of server processes to start# MinSpareServers:

2014-07-07 10:59:42 482

原创 详解PHP ob_start()函数的功能要点

比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:<?php  ob_start(); //打开缓冲区   phpinfo(); //使用phpinfo函数   $info=ob_get_contents(); //得到

2014-07-07 10:58:22 467

原创 Linux下Apache, MySQL和PHP的安装与配置

1.安装环境操作系统:Red Hat Linux Enterprise AS 4.0数据库:MySQL 5.0.24Web服务器:Apache 2.2.3脚本语言:PHP 5.1.62.安装MySQL 5.0.24————-下载软件包mysql-5.0.24.tar.gz,地址http://www.mysql.com————-# tar zvxf mysql-5.0

2014-07-07 10:54:34 480

原创 Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

一、http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。下载地址:http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz

2014-07-07 10:51:53 8584

原创 C语言cgi程序在apache上的实现

本文介绍使用apache实现C语言写的cgi程序。必要条件,安装apache。首先建立C程序,这里就不多介绍。参照前面的文章或者其它的参考书籍。建立文件hello.c,内容如下:#include int main(){printf(“Content-type:text/html\n\n”);printf(“”);printf(“welcome to c cgi.

2014-07-07 10:50:59 1902 1

原创 magento删除订单

magento中的订单默认是不能删除的,只能取消订单,这样可以避免员工的误操作。但我们在开发过程中会产生一些测试数据,这些不删除的话用起来会很不爽。可以通过sql语句直接删除数据库中的订单记录TRUNCATE TABLE `sales_flat_invoice_grid`;TRUNCATE TABLE `sales_flat_invoice_item`;TRUNCATE

2014-07-07 10:49:08 1593

原创 Apache 防止未授权域名指向服务器

Apache默认情况下,接收未配置的虚拟主机请求,会显示第一个虚拟主机内容返回给浏览器。因此,我们可以增加一个内容为404错误的虚拟主机,并把他放到第一个位置。这样,对于未配置的虚拟主机,请求的数据都会访问到404错误虚拟主机上来。httpd-vhosts.conf:  ServerAdmin admin@vip7758.com  DocumentRoot /var/www

2014-07-07 10:47:45 644

原创 在Nginx下针对IP和目录限速

Nginx已经是目前仅次于APache和MS IIS的Web服务器。Nginx优秀的高并发支持和高效的负载均衡是我们选择它的理由。但有时我们希望它能做的更多。本文将向您介绍如何在Nginx下对IP和目录进行限速,在某种应用场景下,这也是个常见需求。Nginx可以通过HTTPLimitZoneModule和HTTPCoreModule两个目录来限速。示例:limit_zone o

2014-07-07 10:44:47 687

转载 Apache服务的工作原理

服务器提供服务的方式    网络服务器由于要同时为多个客户提供服务,就必须使用某种方式来支持这种多任务的服务方式。一般情况下可以有三种方式来选择,多进程方式、多线程方式及异 步方式。其中,多进程方式中服务器对一个客户要使用一个进程来提供服务,由于在操作系统中,生成一个进程需要进程内存复制等额外的开销,这样在客户较多时 的性能就会降低。为了克服这种生成进程的额外开销,可以使用多线程方式或异步方式

2014-07-07 10:43:46 484

原创 magento带有分页功能的新品插件

magento里,我们经常使用如下xml调用系统里的新品这种调用可以设置显示的产品数,但没有分页的功能。假如想用一个cms page展示所有的新品就不合适了,这时就要一个分页的功能分页展示所有的产品。1.创建文件:app/code/local/Anynote/Product/Block/Newproduct.php2.在文件中添加如下内容:<?phpclass

2014-07-07 10:41:03 1126

原创 解决”cannot modify header information – headers already sent by”的错误

如果在执行php程序时看到这条警告:”Warning: Cannot modify header information – headers already sent by ….”有以下几种解决方法:1. 空白行:检查有 后面没有空白行,特别是include或者require的文件。不少问题是这些空白行导致的。2. 用exit来解决:在header后加上ex

2014-07-07 10:38:47 514

原创 ECShop网站 用360浏览器无法添加产品进购物车

用360浏览器添加产品到购物车,购物车列表是空的,通过观察数据库ecs_cart表发现同一客户端每次添加产品session_id都会新建一次。某些情况下,在同一个标签页中,用$_SERVER['HTTP_USER_AGENT']取得360浏览器提交的内容也是会变化的,具体见下面两段。Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1;

2014-07-07 10:37:13 2012

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除