Nginx 下WordPress是配置,包括子目录时的配置
0 个评论
在你的其他配置项基础之上还需要添加下面的代码:
server {
#用于管理界面的处理
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location / {
#/wordpress是你的子目录名字,没有子目录就可以不用写
try_files $uri /wordpress$uri/ /wordpress/index.php?q=uri&$args;
}
}
阅读全文
对权限管理系统的一些思考
0 个评论
权限系统的设计看上去是一个比较复杂的设计。目前还没有非常明确并取得共识的系统设计方案。
下面主要是根据我对权限管理系统的理解进行一个系统设计方案的分析。
首先,权限的设置是围绕着人展开的,而人可以分成多种角色,而这些角色可以是位于不同的组织内。
这样我们就可以很自然感觉到:人,角色,组织都...
阅读全文
__autoload + singleton 改进思路
0 个评论
看到公司的Singleton实例很痛苦的每次都实现一个instance函数。我感觉很麻烦。
下面我基于减少instance函数的观点出发,做一个实验。
目标是用以实现一个可以省掉重复定义函数的基类。
下面是我的代码
文件组织:
/home/eric/phptest/
|-Application.php
|-index.php
|-Session.php
`-Singleton.php
1. Singl...
阅读全文
Google App Engine Channel API 初体验
0 个评论
1. channel api的id分成key与channel api
channel api是给客户端的,对于服务器没有什么用。
而key是服务器端的,服务器只要有key就可以了
流程大约是这样
a)创建
key = md5(str).hexdigest() #要限制在64位以内
channel_id = channel.create_channel(key)
b)
然后
channel.send_message(key, message) 发...
阅读全文
Appengine 非本机访问测试
0 个评论
App Engine (Python)在本地测试运行时, 默认绑定了localhost 所以当你想要通过虚拟机或者其它机器访问你的程序时就会出问题无法访问的情况。
其实只要有点IP基础知识的人就可以想到将IP换成是0.0.0.0就可以让服务与IP无关。
所以我们可以在运行时加上以下的参数:
–address=0.0.0.0
这样就可以让不同...
阅读全文
Python的缩进引起的BUG
2 个评论
if module == 'modify':
user = self.getUser()
temp = {
'name': user.username,
'contact': user.contact,
'email': user.email,
'intro': user.intro
}
self.display('user_modify.html', temp)
return
当我把 temp的}向外移动...
阅读全文
网络编程中Socket与HTTP,TCP,UDP的区别
0 个评论
Socket的英文意思是插座。
就是有几个孔的固定的插座。
用电器插入后就能得到电能提供他所能提供的服务了。
对应到网络上,Socket(插座)里包含了你所启动的服务(类似于插座对应的电能),而孔就是所对应的端口。
通过端口,客户端就可以访问你所提供的服务。
当然客户端要找到你的服务,在TCP/IP协议族下通...
阅读全文
Drupal 菜单的读取方法
0 个评论
1. 通过menu_tree_all_data来读取相应的菜单项
primary-links来读取基本菜单。
也可以读取自定义的菜单。
2. 通过$m['below']来得到是不是有子菜单
<ul>
<?php
$i = 0;
$menuItems = menu_tree_all_data(‘primary-links’);
foreach($menuItems as $key => $m):
?>
<li>
<...
阅读全文
阻塞与非阻塞, 异步与同步分别表示什么含义?
0 个评论
阻塞与非阻塞是相对于某个操作对OS的进程或者线程的影响来讲的,
阻塞是指某个操作因为使用同步方式会导致进程的阻塞.
非阻塞是指某个操作因为使用异步方式不会导致进程的阻塞.
同步与异步是指某个操作的返回性质来讲的.
同步是指某个操作必须执行完成后才会返回.
异步是指某个操作立即返回,然...
阅读全文
drupal menu_tree_page_data 和 menu_tree_all_data的区别
0 个评论
menu_tree_page_data and menu_tree_all_data的区别是后者能将所有的菜单信息都取出来.
而前者不能.
前者只能取出当前的活动的菜单的内容.
阅读全文
php里print,echo的区别?
0 个评论
1.首要明确print,echo都不是普通的函数,可以用function_exists函数测试
2.print, echo前者只能打印一个字符,而echo 可以打印多个
print $a, $b是错误的,而 echo $a, $b是正确的
3.print会有返回值,但是echo没有返回值,性能略好一些
阅读全文
http的三种交互模式
0 个评论
from: http://meteorserver.org/interaction-modes/
To stream data, a client initiates a request, the server’s response begins immediately, and continues indefinitely until the client closes the connection. This would seem to be the ideal method of interaction – events can be ...
阅读全文
将tornado的模板用jinja2代替
0 个评论
tornado的模板对路径的支持不好。
在Windows平台下面就没有办法用了。
所以需要第三方的模板来支持,同时由于Django是python目前最流行的框架。
考虑到方便移植,我选择了jinja2。
这个与django类似的模板系统。
它的好处是不用象django那样需要将django的整个栈都加进来。
下面是它的基本使用方法:
from ji...
阅读全文
python 2.6 无法确定得到当前文件的路径
0 个评论
1. os.getcwd()跟当前的环境有关系。返回值并不一定是你想要的。
2. os.path.dirname(__file__)可能为空
3. 解决的办法是创建一个下级包,比如abc
import abc
path = os.path.dirname(abc.__file__)
这样可以得到包含 abc的路径。
去掉abc就可以得到当前执行文件的路径。
Linux下面可以这样实现:
path = path...
阅读全文
ubuntu 10.04下php5出错空白的解决
0 个评论
在新发布的ububntu 10.04里,php5的apache环境配置的报错是被关闭的。
这样会一定程序上影响调试的快速性。
虽然可以在error log上可以查到。但是显然没有在前端直接显示出来来的方便。
所以要让他能直接显示在页面上。
我们需要将参数修改成:
display_errors = On
这样就可以显示常见的错误信息了。
阅读全文
Elixir下实现OneToOne关系
0 个评论
在实现Elixir下OneToOne关系时,
一开始使用的形式是:
class A():
b = OneToOne(‘B’, inverse=’a')
class B():
a = OneTOOne(‘A’, inverse=’b')
发现编译一直无法通过。
然后使用:
class A():
b = OneToOne(‘B’, inverse=’a')
class B():
a =...
阅读全文
tornado web, python 的 epoll 异步web解决方案
1 个评论
主站 tornadoweb.org已经被墙,
appengine地址:
http://facebook-tornadoweb.appspot.com/
tornado是编写python下快速的web服务器的基础。
阅读全文
Epoll 水平触发和边缘触发
0 个评论
下面是对man epoll的英文的部分翻译。
水平触发和边缘触发(Level-Triggered and Edge-Triggered)
epoll事件分发接口能在边缘触发(ET)或者水平触发(LT)两种模式下工作。他们的区别如下所述。
假设有这样一个场景:
1. 管道上代表读取的文件描述符(rfd)在epoll上注册成功
2. 在管道上写入了2Kb的数据
3. e...
阅读全文