Jul 6
    Eclipse 是常见的开源IDE工具,通过增加插件,可用于PHP开发。下文参考CakePHP的bakery中一文:Setting up Eclipse to work with Cake,搭建一个Windows 7下面用于调试CakePHP的环境。特标注一些需留意的地方。
Tags: ,
Jun 12
    在测试某Web应用时,其中有段函数,用于动态的插入合适大小的图片到当前页面中。原理是:先利用JavaScript的Image对象读入图片,然后判断图片大小,当图片尺寸过大(超过阀值)时,给页面插入的HTML代码中,加入width和height的属性值。测试时发现,该功能有时候会失效,这时,width和height都会等于0。经分析,问题在于创建Image对象,并读入图片的过程会有延迟,不能立即得到图片的属性。而JavaScript是异步处理机制的,在图片未读完前,即继续往下执行。所以,导致获得的图片大小均为0。
    既然知道原因,那么处理方法很简单,就是在读取图片后,做个延时的处理,详细可参考:这里
    没想到,在调整我的代码时,发现对setTimeout()方法的使用还有不少误解的地方,特整理如下。
Jun 11
    在编写JavaScript时,遇到一个常见的问题“如何判断某值是否数组中的元素”?这让我想起了PHP中的in_array()函数和Python中in 操作符。但JavaScript似乎没有内置类似的函数,而其in 操作符的作用也有点不同。通过查询相关的资料,我发现JavaScript的in 操作符还是挺有用的。
Jun 7
    某Web应用,为了方便浏览,使用表格进行汇总时,初始化状态仅显示概要,若点击该行才用显示下面的详细内容。用jQuery 来实现本来是很简单的事情,在IE 7 测试时很顺利。但Win 7下发现,IE 8中动作失效了。经查找原因,原来是jQuery 1.3.2的Bug。该问题早在网上有不少介绍:这里,转载如下:
Tags: , , ,
Jun 5
    前一篇日志提到的PHP Notice警告导致Ajax请求失效的情况。深究其原因,还是在13行的switch语句上。因此,我做了一些关于PHP变量使用大括号的测试,也发现了一下使用中需注意的地方。
Jun 4
    今天,把程序部署到红旗Linux平台上,遇到一个问题:原来在Windows XAMPP环境中好好的一个用Ajax提交请求的页面,在Linux下失效了。经查看后台日志,发现如下的Notice信息:
引用
PHP Notice:  Use of undefined constant action - assumed 'action' in /var/www/html/phpcrm/inc/xml_projects.php on line 13
PHP Notice:  Use of undefined constant child - assumed 'child' in /var/www/html/phpcrm/inc/xml_projects.php on line 13

问题也正是出在这里。
Tags: , ,
Jun 3
    Smarty 中可用的变量一般有三种:1、来自PHP页面,通过assign()方法传递的变量;2、保留变量,即相当于PHP中预定义的变量;3、从配置文件中读取的变量。引用方法很简单,我就不详细说明了,具体可见:这里。不过,我遇到一个问题,就是在模板中引用保留变量时,其值为空(null )。开始感觉比较奇怪,后发现是其引用于PHP的php.ini中register_long_arrays设置、Smarty对象的request_use_auto_globals 属性有关。
Tags: ,
May 25
    无论是PHP,还是其他的服务端脚本都提供了文件上传功能,实现起来也比较简单。而利用JavaScript来配合,即可实现Ajax方式的文件上传。虽然jQuery本身没有提供这样的简化函数,但有不少插件可以实现。其中,Phpletter.com提供的ajaxfileupload.js是一个轻量的插件,而且编写方式与jQuery提供的全局方法$.post()非常相似,简单易用。
    不过,该插件实在太简化了,除了可提供需上传文件的路径外,也就不能传递额外的值到后台服务端。所以,我修改了一下该脚本,增加个一个data对象参数。
Tags: , ,
May 24
    通常,我们可以给图片<img>设置一个CSS属性,定义其高度和宽度。但有时候,我们只希望控制图片的最大可见大小。这样的操作,一般有两种办法:1.直接使用CSS属性值;2.使用JavaScript动态设置CSS值。
Tags: ,
May 18
    还是之前的项目,在进行Oracle 的切换测试时,当把已经绑定成bond0的两个网卡上的网线都拔掉,发现系统会丢失网关,并增加了一条指向心跳网卡bond1的新路由,必须手动调整才能恢复。经过多方面的排查,最后发现是Oracle RAC 中VIP(浮动IP)属性设置不正确导致的问题,经用srvctl modify nodeapps调整后,问题解决。
Tags: ,
May 15
    某项目,使用红旗DC Server 5.0 for x86_64 SP2,运行Oracle RAC 10.2.0.4。而应用服务器上的应用通过Oracle客户端来连接,为常连接的方式。当进行应用的压力测试时,发现数据库服务器在运行一段时间(约3个小时后),系统会失去响应。当做了大量的系统状态及内存使用情况的分析后,发现系统失去响应的原因是,Oracle不断的申请内存,直到内存消耗完所导致的。深究其原因,是由于系统的核心参数vm.nr_hugepages与SGA的大小不匹配,Oracle并没有使用HugePages来分配SGA,而是在不断的消耗系统其它内存。
May 12
    某项目中,发现每次机器重启后,时间都比正常时间快了8个小时。但按[原]解决服务器重启后,时间自动变更的问题的方法处理,仍无法解决。后发现机器是IBM x3850 M2的,在使用hwclock从BIOS读、往BIOS写会失败:
引用
# hwclock -r
select() to /dev/rtc to wait for clock tick timed out
# clock
select() to /dev/rtc to wait for clock tick timed out

这时,必须加入--directisa参数才能成功。故怀疑问题原因是系统启动时,无法从BIOS获取正确的时间导致。
Tags: ,
分页: 8/44 第一页 上页 3 4 5 6 7 8 9 10 11 12 下页 最后页 [ 显示模式: 摘要 | 列表 ]