-
Recent Posts
Recent Comments
Tags
adodb ajax android apache arguments box cache calendar css db document.ready EAN-13 excel forbidden framework getElementsByName hello world html IE java Javascript js keycode lazyload linux margin-top margin折叠 memcache mysql null php preload image QR Code session smarty wordpress xml 子主题 条形码 浮点数 盒子 质数 闲聊 雪 页面优化My Firends
Archives
Meta
Monthly Archives: September 2011
让WordPress自带插件焕发第二春 (2)
你一定考虑过,将友情链接分为2列显示,就像小博这样。
网上有篇转载了很多的文章,教我们实现了这个方法,它通过设置CSS的float属性,使得链接水平显示,同时一行显示不下就换行,这样看起来实现了分列显示友情链接的要求。
但是这个方法仅在IE下有效果,在Firefox、Chrome等非IE核心的浏览器中,因为没有做浮动清理,使得侧边栏略微破相了–Blogroll模块与下面的模块之间的间距显示错误。
Tagged blogroll, multicolumn, wordpress
让WordPress自带插件焕发第二春 (1)
WordPress自带了最新评论的插件,不过基本上没人会用,主要原因就是它无法显示评论的内容。
其实只要稍作修改,就能不必去找其他第三方插件,让自带插件为我所用。
在wp-includes找到default-widgets.php,这个就是自带的插件程序文件。
在其中找到 WP_Widget_Recent_Comments 这个类,它是自带的最新点评插件。
Tagged recent_comments, wordpress
WP Super Cache 几个程序漏洞
这几天,小博的空间不太稳定,经常抽风。
昨天博客突然打不开,一直找不到原因,最后把Debug模式模式打开后,发现原来是WP-SuperCache突然出错,导致整个博客都显示空页面……把我吓出一身冷汗。
到家后,查看了服务器的error-log,我NND,足足有8M,里面大多为PHP Notice警告。
警告内容主要是一些老旧的插件在WP升级了2.8之后,仍在使用一些兼容性的函数所致,将这些插件一一删除,报警逐渐减少,最后停留在WP-SuperCache的几个报错上。
在查看了一番代码后,将这几个错误修正,希望WP-SuperCache的后续版本可以修正一下这几个错误,毕竟用@符号屏蔽错误时需要消耗大量服务器资源的。
Tagged wp-supercache, wrdpress
Windows安装PHP,无法加载php_curl.dll的解决办法
今天在笔记本上配置开发环境,安装PHP时将所有组件都安装了,发现Apache从此就无法启动,逐个禁用PHP组件后发现,除了oci几个dll因为没有安装Oracle客户端之外,php_curl.dll只要一加载就无法启动
研究了半天,鼓捣出来了,原来是php_curl.dll相关的2个lib文件没有加载。
只要在Apache配置文件中加上2句:
LoadFile "D:/webserver/php/ssleay32.dll" LoadFile "D:/webserver/php/libeay32.dll"
OK,问题解决
Tagged apache, php_curl.dll
Apache Forbidden 403错误
在公司将框架的源码拷贝回家,准备在家里也搭一个运行环境,但配置好的Apache怎么都显示 Fobidden
遂打开Apache日志查看,发现所有的访问都显示这条错误:
Directory index forbidden by Options directive: D:/Develope/vhosts/framework/
首页被某个选项设定为禁止访问
再次打开Apache vhost配置文件,仔细端详
<Directory “D:\Develope\vhosts\framework”>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Deny from all
</Directory>
原来是这家伙在捣鬼
改成Allow
晕,首页把文件目录列出来了,而不是显示页面
加上 DirectoryIndex index.php 默认首页是index.php
OK,解决
PHP框架初步写完进入调试阶段
终于,经历重重磨难,与9月15日晚将框架的主要功能调试通过,下面简单介绍下这个框架。
运行环境:
Apache2 or later (需要mod_rewrite)
PHP5 or later
下载地址:[0.1.1-alpha Download]
0.1.1-alpha是开发版,部分功能尚未完成,所有功能都未经过详细Debug,不能用于生产环境
主要功能:
1. 构建清晰的URL地址
2. 支持多种数据库(目前仅支持Mysql,更多的数据库支持会在将来提供)
3. 内建Memcache支持
4. 如果服务器不支持Memcache,内建HardDisk Cache 临时代替 Memcache
5. 模板化前端HTML(借用Smarty)
接着要做的工作:
1. 构建oracle数据库支持
2. 将Memcache从数据库剥离(目前和数据库封装在一起)
3. 重新整理调用关系,使逻辑上更加清晰
4. 内建各种支持库文件,方便使用
能想到的就是这些,源码稍后放出
Memory Cache
Memory Cache — 使用内存作为数据的缓冲,加快数据的读取,减少DB服务器的负担。
在无数的大型网站中,Memory Cache起着至关重要的作用,往往这些大型网站会用上百台Memory Cache服务器。
而在中小型的项目中,适当使用Memory Cache(性能与成本之间的妥协)也是非常有必要的。
之前写过一篇文章《自己动手,写一个简单PHP框架 (番外2)》,介绍了Adodb在查询数据时使用HD作为缓冲,虽然这样也能对性能起到一定提升作用,但会使磁盘I/O增加,磁盘的性能往往随着I/O递增呈现指数级下降,所以在有条件的情况下使用Memory Cache是明智之举。
自己动手,写一个简单PHP框架(8)
封装Session
对Session的封装较为简单,暂时不考虑Session跨域时的处理,因为Session跨域有多种解决方案,具体使用哪一种,也要取决于对服务器的权限有多大,在Beta版中,我会封装一个使用数据库解决Session跨子域的问题
Session中我们常用到添加、删除、取值等操作,我们就先封装这些常用的操作