存档

‘WEB应用开发’ 分类的存档

OSGEO4W 在 Win2003 Server X64 的安装

2010年5月7日

试图在 Win2003 Server X64 R2下安装OSGEO4W,但遇到很多问题,似乎OSGEO4W这这个版本的Windows有兼容性问题。主要表现在安装过程的组件选择部分

Express不能正常安装,会出现没有相应的现象

Advance 安装中组件依赖关系选择和版本选择都会出错,反复手动选择安装,运行出现一些错误:R6034 等等,特别是Mapserver的安装

 

解决方法:

在一台Windows XP下安装OSGeo4W的全部需要的组件,然后复制到Win2003下,注意两个系统下的目录位置要相同

在2003下Reintstall一下Apache

 

完成…

后续关于MapServer的配置

安装的MapServer Itasca Demo Application存在一些问题,需要修改配置

1. D:\OSGeo\apps\mapserv-demo 下的 IMAGEPATH ,"\"和“/"问题,否则有临时文件读写错误

2.所有涉及的template文件需要增加一行”<!– MapServer Template –>“放在文件第一行,否则有模板错误提示

3.D:\OSGeo\apache\conf下httpd.conf,<Directory "d:\OSGeo/tmp/ms_tmp/"> 红色部分补上,否则看不到图

IT前沿, WEB应用开发

Javascript中的this详解

2009年12月14日

*本文代码中使用的 function dump(v,title), 是一个自己写的输出变量描述的函数。

如果你准备在JavaScript中写类,那么你必需对关键字 this 的使用有深刻的理解:

这是JavaScript手册中对 this的简单解释:

this:指当前对象。

对于 JScript 的客户版本,如果在其他所有对象的上下文之外使用 this,则它指的是 window 对象。

阅读全文…

WEB应用开发

Javascirpt IE中的HTMLElement

2009年12月14日

在DOM标准中,每个HTML元素都是继承自HTMLElement。这是DOM的继承关系树:

200981518213488

阅读全文…

WEB应用开发

Javascript类的原型对象和继承

2009年12月13日

基本对象分析

JavaScript中所有的东西都是对象,包括函数、字符、数字等等等。但是JavaScript没有Class这个概念。

JavaScript使用Function来模拟类,任何一个function都有一个对应的prototype对象来存储和扩展这个function的定义,也就是说原型对象是关联于函数的

我们计划使用new关键字来调用并生成新对象的函数,我们称为“构造函数”

一个基本的函数分析

function Car(){
	color = 'red';
};

echo(Car);
echo(Car.constructor);
echo(Car.prototype);
echo(Car.prototype.constructor);

输出结果 阅读全文…

WEB应用开发

Javascript-类的基本定义方式

2009年12月12日

经典模式

直接生成对象实例,并操作实例

//定义
var aCar = new Object();
aCar.color = "red";
aCar.doors = 4;
aCar.showColor = function() {}
//调用
aCar.showColor();

阅读全文…

WEB应用开发

Javascript类-构造方法和原型方法的区别

2009年12月12日

对Javascript来说,方法在本质上也是一种属性。

构 造方法 和构造属性一样,它是分别存储于每个实例之中的,相互之间是完全独立。

原型方法 和原型属性一样,他是存储于原型中的,每个实例中存储的实际上一 个指向原型的指针。

所有对原型方法的修改会影响到所有实例,而构造方法实际上只能通过实例来访问和修改,也只会影响到相应的实例。

先写结论:方法通常应该使用原型模式定义,并且在必要时通过原型来动态重定义,避免使用构造模式定义方法。

阅读全文…

WEB应用开发

Javascript类- 几种属性的定义方式及区别

2009年12月12日

几种属性:

先看代码,这段代码中出现了类定义中可能使用到5种属性或者变量

function car(param1,param2){
    //构造变量
    var varProperty = 'This is a var Perperty';
    //构造属性
    this.constructProperty = 'This is a construct Property'
}

//原形属性
car.prototype.prototypeProperty = 'This is a prototype property';

//静态属性
car.staticProperty = 'This is a static property';

阅读全文…

WEB应用开发

Debian+ISPCP 环境下 eAccelerator效果测试

2009年10月30日

硬件:CPU 2.5 / 1G内存 / VMEsxi虚拟环境 :roll:

软件:Debian Lenny 5.0 + ISPCP 1.0.2 stable

工具:apache 里的AB

声名:这是在一个非标准环境下的测试,测试结果不具有普遍可比性,仅供参考

eAccelerator的对比测试结果

测试应用网站:3个

  • A 一个简单的模拟PHPINFO类页面,提取系统信息,显示,单文件程序
  • B 一个自己开发的CMS系统
  • C WordPress BLOG,加载了一些常见插件

测试方式:使用 ab -t 60 -c 5 参数测试,每阶段2次测试取评价值,分2个阶段

  • P1 没有安装eAcceleratr
  • P2  安装了eAccelerator
AB 测试结果表 (请求处理/秒)
       P1 P2  
Req/S CPU%  Req/S  CPU%
A INFO   73 40   75  20
B CMS   8.72  100  16.77  95
C WordPress  1.22  100  1.76 100 

分析:

阅读全文…

WEB应用开发

从Etach到Lenny,Debian+ISPCP升级笔记

2009年10月30日

本来有一台Linux服务器,运行Debian 4.0 Etach 和 ISPCP 1.0.0 RC6

近期看到ISPCP正式版已经发布好久了,就决定升级.升级路线是首先 升级Debian 到 Lenny (5.0),然后再升级ISPCP

A 升级Linux

升级的方法很简单

1) (可选的) 检查你的更新源列表(sources.list)

apt-spy -d stable -t 5 update #是用Stable或者Lenny现阶段效果应该是一样的

有些指南让你加上国家和地区参数,时间没有必要,事实上我们访问最快的源往往都在国外。

你也可以手动去更新 /etc/apt/sources.list

2) 更新系统

aptitude update && aptitude upgrade

这一步可能需要反复运行几次,如果有软件版本冲突提示,你需要运行 aptitude 手动选择冲突解决方案

一直运行到aptitude update && aptitude upgrade提示没有需要更新软件包了,系统升级完成

3)可能遇到的问题

我遇到问题是:Mysql升级到5.2以后不能自动启动了,检查 /etc/log/daemon.log发现一个提示

/etc/init.d/mysql[2130]: ERROR: Using expire_logs_days without log_bin crashes the server. See README.Debian.gz

log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10

修改 /etc/mysql/my.cnf 解决问题

#log_bin = /var/log/mysql/mysql-bin.log #这一行本来是被注释掉的

expire_logs_days = 10

完成上述步骤后服务器及ISPCP应该仍然可以正常工作,检查处理完可能存在的问题后,准备升级ISPCP

B) 更新 ISPCP到 1.0.2

安装ISCP官方说明逐步操作

http://www.isp-control.net/documentation/doku.php?id=start:upgrade:rc

几点说明:

阅读全文…

IT前沿, WEB应用开发 , , , ,

WordPress乱码问题完美解决方案

2009年10月16日

迁移了我的WordPress到一台新的服务器,并升级到最新版本,遇到的乱码问题,搜索了一下,解决方法有几种,修改 wp-inludes/wp-db.php,转换数据库编码等等,但都不完美,先提供完美解决方案如下:

1.指定新目标数据库的编码为 utf8_unicode_ci ,需要你的Mysql版本为4.1+,通过 数据库->操作 来操作

2.导入数据备份文件

3.修改wp-config.php 文件,增加一行: define(‘DB_CHARSET’,'utf8′);

OK,完成!

顺便提一下,低版本数据库导入高版本数据库时,先根据源数据编码指定好新的目标数据库默认编码(通过 数据库->操作 来操作),可以解决大部分数据升级到乱码问题。

WEB应用开发

MySQL的表类型和存储引擎

2009年7月6日

MySQL的表类型由存储引擎(Storage Engines)决定,类型包括MyISAM、innoDB、BDB等。

常用的存储引擎

MySQL 数据表主要支持六种类型 ,分别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。

这六种又分为两类,一类是”事务安全型”(transaction-safe),包括BDB和InnoDB;其余都属于第二类,称为”非事务安全型”(non-transaction-safe)。

BDB 全称是”Brekeley DB”,它是Mysql最早的具有事务能力的表的类型,由Sleepycat Software (http://www.sleepycat.com)开发。它提供了事务控制能力功能,它确保一组命令全部执行成功,或者当任何一个命令出现错误时所有命令的结果都被回退,可以想像在电子银行中事务控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事务特性。最新版本的Mysql已经计划移除对BDB的支持,转而全力发展InnoDB。

阅读全文…

WEB应用开发, 深入PHP

使用Xdebug调试PHP程序

2009年7月1日

XDebug是个好东西啊,用来调试PHP程序的,可以和Eclipse配合。

配置步骤:(Windows+Apache+php环境)

1.下载和PHP版本环境相适应的XDebug版本,放置于PHP目录,主要None-ThreadSafe版似乎是用来在CLI方式下使用的,一般不需要

2.修改php.ini文件,参考如下

[Xdebug]
;zend_extension_ts	= "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6.dll"
;发现在PHP5.3+Apache(CGI)方式下,似乎必须使用 zend_extension 加载才能成功
zend_extension		= "D:\server\php5\ext\php_xdebug-2.0.5-5.3-vc6-nts.dll"

xdebug.auto_trace		= off		;开启自动跟踪

xdebug.remote_autostart		= off		;开启远程调试自动启动
xdebug.remote_enable		= 1
xdebug.remote_host		= 10.5.184.251
xdebug.remote_port		= 9000
;xdebug.remote_handler		= “dbgp”

xdebug.show_exception_trace	= On		;开启异常跟踪

xdebug.collect_vars		= On		;收集变量
xdebug.collect_return		= On		;收集返回值
xdebug.collect_params		= On		;收集参数

注意:remote_host应该填写远程调试机的地址,而不是PHP服务器的地址,在Xdebug运行方式下,调试工具实际是调试过程的服务端,Xdebug会主动连接指定的remoete_host,从而建立调试通讯。所以要注意调试机的防火墙问题


3.配置调试工具,Eclipse就很好用,具体不说了,摸索下就可以了

阅读全文…

WEB应用开发, 深入PHP , ,

Windows系统下WEB服务器自动架设安装包的比较

2009年2月15日

这是我老早写的一个笔记了,刚才翻出来了,有些内容可能已经过时了,随便看看吧。所有测试均在Win2003Server下进行。

AMP环境架设

WAMP5 1.7.2

o 安装简单,安装过程英文,自动配置界面简单,功能简单
o 默认没有启用Short_tag,gd 等常用功能

XAMPP

o http://www.apachefriends.org/en/xampp-windows.html
o 注意:默认安装完成没有任何安全设置!!必须立即设定一些安全设置,包括:Mysql Root帐号等等!
o 集成软件较多
o 自动配置界面略优于WAMP
o 仅适合于本地测试,调试,如果使用在正式的服务器上,必须仔细进行安全设置!!

AMPServ

APMServ 5.2.0 是一款拥有图形界面的快速搭建Apache 2.2.3、PHP 5.2.0、MySQL 5.0.27&4.0.26、SQLite、ZendOptimizer、OpenSSL、phpMyAdmin、SQLiteManager,以及 ASP、CGI、Perl网站服务器平台的绿色软件。

集成软件:

* Apache 2.2.3          [HTTP服务器]
* NetBox 2.8 Build 4128 [HTTP服务器+ASP脚本解释引擎]
* PHP 5.2.0             [PHP脚本解释引擎]
* MiniPerl 5.8          [Perl脚本解释器]
* MySQL 5.0.27          [MySQL数据库服务器]
* MySQL 4.0.26          [MySQL数据库服务器]
* SQLite 3.3.8          [SQLite数据库服务器]
* phpMyAdmin 2.9.1.1    [MySQL数据库在线管理工具]
* SQLiteManager 1.2.0   [SQLite数据库在线管理工具]
* ZendOptimizer 3.2.0   [PHP脚本加速引擎]
* OpenSSL 0.9.8d        [HTTPS(SSL)安全传输协议]

特点:

* 直接解压安装
* 内置Apache虚拟主机管理
* Myslq5.0 和 Mysql4.0可以方便的并存
* 默认Mysql没有密码!!
* 自动配置界面较乱,功能不少,但仍然缺少很多必须的功能

APM_Setup (推荐)

APM_Setup 5 for Win32 ( http://www.apmsetup.com/ ,http://www.isk.com.cn )
国内软件,与PHP_SETUP_for_IIS是同一个公司出品的。
– Webalizer Version 2.0.1 – http://www.webalizer.org
– MySQL Version 4.0.26 – http://www.mysql.com
– PHP Version 4.4.3-dev – http://www.php.net
– Zend Optimizer Version 2.6.0 – http://www.zend.com
– phpMyAdmin Version 2.7.0-pl2 – http://www.phpmyadmin.net
– Apache HTTP Server Version 1.3.34 – http://httpd.apache.org
文件:APM_Setup5_2006_01_23_CN.exe
说明:

* 似乎是从摸个国外的版本修改过来的
* 自动配置界面较丰富
* 内置了一个服务器管理的WEB界面,但似乎存在一些BUG
* 集成软件版本较旧
* 默认数据库密码是:ampsetup,注意ampsetup配置界面中的Mysql密码填写处并不是用于修改Mysql密码的,而是需要在正常修改完Mysql密码后在此处填写新密码,以便于管理。

IIS环境架设

PHP_Setup_for_IIS_v20060119_CN.exe (mysql 4 + PHP5)

o PHP映射仅影响到默认网站,如果新建网站还需要重新配置映射
o 默认以CGI方式映射
o 默认WWW目录没有可写权限,需专门设置.

* PHP_Setup_for_IIS_v20060119_CN.exe (mysql 4 + PHP4)

o 注意:自动对wwwroot目录增加了一个拒绝权限,禁止IUSR删除文件,必须在高级权限设置中删除这一权限
o 不支持PATH_INFO

* PHP_Setup_for_ISS (Mysql5+PHP5)

注意:自动对wwwroot目录增加了一个拒绝权限,禁止IUSR删除文件,必须在高级权限设置中删除这一权限
o 不支持PATH_INFO

WEB应用开发, 深入PHP , , ,

从“UML何时死掉”谈起(转)

2009年1月6日

从“UML何时死掉”谈起 – 技术开发 | IT168.

【IT168 技术文章】得了一个机会(1),我问Ivar:“UML什么时候才会死掉呀”。我无意用这个透着促狭味道的问题去为难大师,实在是因为这是我一直以来思考着的问题。向UML之父去求解,自然是最好。

Ivar细毫没有认为我是在为难他,他诚恳的回答让我在那个会议中陷入了深思。他说:“什么时候面向对象死掉了,UML就死掉了”。(2)

一个问题看起来很复杂,但它的答案可能非常简单。一个答案看起来非常简单,但它可能是最正确的。一个正确的答案,也许毫无意义,但也许,那就是大师的答案。

很多我们现在看起来是非常“理所当然”的事情,就曾经困扰着大师们。比如说,我们现在都知道程序的基本逻辑是顺序、分支与循环。那么,“为什么顺序、分支与循环是基本逻辑呢”?“作为基本逻辑,它们充备吗?”谁能回答我?如何回答我?

阅读全文…

WEB应用开发 ,

UML关系定义的解析及思维导向图

2009年1月5日

对UML的关系定义一直有点感觉混乱,这是一天的学习总结,主要成果是下面的这张图,这张图没有按照一般的 Has a / Use a / Is a的3类法进行分类,而是把 Has a 作为了 Use a的一个子集来分析。因为没有看到任何其他参考资料使用了这种方式,所以这种方法未必完全准确,仅供参考。


UML关系解析思维导向图

UML关系解析思维导向图


阅读全文…

WEB应用开发, 深入PHP , ,