文章标签 ‘PHP’

location ~ \.php($|/) {    set  $script     $uri;    set  $path_info  "";    if ($uri ~ "^(.+\.php)(/.*)") {        set  $script     $1;        set  $path_info  $2;    }    fastcgi_pass   127.0.0.1:9000;    include        fastcgi_params;    fastcgi_param  PATH_INFO          $path_info;    fastcgi_param  SCRIPT_FILENAME    /var/www/example-org/wwwroot/web$script;    fastcgi_param  SCRIPT_NAME        $script;}

2010年1月31日12:07 | 没有评论
分类: 开源技术

   

2010年1月16日13:41 | 没有评论
分类: 开源技术
标签: , , ,

  由于PHP4版本已老,PHP官方已不再对其维护支持,官方站上的PHP版本目前只有5.2、5.3、6.0的PHP下载,而一些老项目还是使用PHP4编写的,而存在一些版本兼容问题导致还无法迁移到PHP5,这样在重新部署环境的时候就需要下载PHP4了。   由于官方不直接提供PHP4的下载,我们就需要自己找,Google之后,发现一站点:http://museum.php.net/,上面的PHP版本还挺全的,甚至连PHP1都有,是不是很雷人呢……,有需要老版本PHP的赶紧收藏下来,否则以后又找不到了。

2009年10月13日09:46 | 没有评论
分类: 编程开发
标签: ,

测试方法,新建一个名为User的PHP类,循环1000000次读取相关属性测试。 第一个测试,设置$username为私有方法,在循环内部生成类对象,使用__get获得其值 <?php class User { private $username; public function __get($name) { return $this->$name; } } for ($i = 0; $i < 1000000; $i++) { $user = new User; $user->username; } ?> real 0m4.487s user 0m4.192s sys 0m0.291s 第二个测试,设置$username为公有方法,在循环内部生成类对象,直接获得其值 <?php class User { public $username; public function __get($name) { return $this->$name; } } for ($i [...]

2009年9月24日08:04 | 3 条评论
分类: 编程开发

  从图中可以看出,在Zend Framework Controller分发流程中,Request Object几乎贯穿了整个框架的处理流程,假如程序的本质是I/O,Web的本质就是Request/Response。   整个处理流程中,组件只与Request Object发生耦合,Router通过读取Request Object中的值,再适当地更改其部分值,为Dispatcher指明方向,生成适当的具体控制器类,达到路由的效果。   在各个处理流程中各个组件可以被替换,藕荷度小,符合设计模式,看上去很美。  

2009年5月20日09:32 | 没有评论
分类: 编程开发
标签: , ,

  蓝色的是CakePHP、红色是symfony、橙色是Zend Framework,在关注度上基本都是齐头并进。Zend Framework毕竟是PHP官方出的框架,因此新闻引用量明显要大于其他两个。

2009年4月14日14:37 | 4 条评论
分类: 开源技术

  看看下面这段示例代码,其中带各种“\”反斜杆部分的内容,就是PHP 5.3中即将出现的命名空间。各位看这段代码写的恶心不……,幸好不是我写的,这可是官方的示例代码。假如IDE不支持的话,写这段代码、维护这段代码都是个噩梦……   在其他语言飞速进步,新型框架层出不穷之际,PHP却改的越来越没有自己的特点了,非但没有发挥自己动态的长处,却不断地向Java语法靠近,假如真的都需要Java,我们还用PHP干什么呢。 http://php.net/manual/en/language.namespaces.rationale.php

2009年4月8日00:03 | 1 条评论
分类: 开源技术
标签: ,

  这次不是使用Fedora,我改用Debian了,首先编辑下/etc/apt/source.list,配置上正确的源地址:

2009年3月10日13:52 | 4 条评论
分类: 网站应用

  前两天发了一篇博客,说我把原来放在Feedsky上托管的Feed拿回来放在自己的空间上自己托管了:《回归吧,我的Feed!》,Johnny问我是怎么做的,在这里我介绍一下,我的博客猫言猫语的地址是:“http://www.wuwx.net”,原来使用的RSS Feed是在Feedsky托管的:“http://feed.wuwx.net/”,现在我想把RSS移回来自己托管,有什么办法呢? 第一种方法:新建虚拟主机   这个方法就是新建一个名为feed.wuwx.net的虚拟主机,然后通过访问这个虚拟主机来获得RSS的数据,获得方法可以有很多种,通过PHP远程读取,通过反向代理,通过定期生成静态RSS等。   PHP远程读取的例子: <?phpecho file_get_contents(“http://www.wuwx.net/feed/”);?> 第二种方法:使用原有主机   这个方法通过判断访问这个空间的HTTP_HOST头信息,判断是普通的WWW请求,还是RSS请求,如果是WWW请求则进入正常服务,如果是RSS请求则转发给Feed。   首先把feed.wuwx.net与www.wuwx.net绑到同一个空间,然后在wp-config.php中加上如下代码: if($_SERVER['HTTP_HOST'] == 'feed.wuwx.net') {    $_SERVER['REQUEST_URI'] = '/feed/';}   如果你的WordPress没有使用自定义链接形式(Rewrite)的话,可能需要采用下面的另外一种写法: if($_SERVER['HTTP_HOST'] == 'feed.wuwx.net') {    $_GET['feed'] = 'rss2';}   这样就OK了,我使用的就是第二种方法,大家有什么更好的办法么?欢迎留言反馈:)

2009年2月14日13:56 | 5 条评论
分类: 网站应用

  301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:301 代表永久性转移(Permanently Moved),302 代表暂时性转移(Temporarily Moved)。   301 重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址,如果我们把一个地址采用301跳转方式跳转的话,搜索引擎会把老地址的PageRank等信息带到新地址,同时在搜索引擎索引库中彻底废弃掉原先的老地址。   在PHP中,一般实现页面跳转的语句如下: <?php  header('Location: http://www.wuwx.net/');?>   当我们使用工具查看这个HTTP头,发现他返回的是一个HTTP 302临时重定向。而不是我们所期望的HTTP 301永久重定向,注意看下图中的第一行:      应该如何实现HTTP 301永久重定向呢?其实也很简单,只需增加一行代码: <?phpheader('HTTP/1.1 301 Moved Permanently');header('Location: http://www.wuwx.net/');?>   当我们再次查看这个页面的HTTP头的时候,他返回的就是我们所期望的HTTP 301永久重定向了。   

2008年6月8日23:16 | 5 条评论
分类: 编程开发
标签: , ,

  PHP 如果直接使用 mssql_*() 系列函数读取 MSSQL 内 ntext 的数据列的话,会提示错误。   解决方法就是不使用 mssql_* 系列函数,而使用 $dbc = new com(”adodb.connection”);   也就是使用 adodb 就可以了   如果使用 adodb php 类的话,应该使用 ado_mssql 来连接。

2007年12月14日09:44 | 没有评论
分类: 开源技术
标签: , ,

如果不正确设置时区, 在 windows 下获得的时间会和北京时间相差 8 个小时 如果修改 php.ini 的话, 可以修改 [Date] ; Defines the default timezone used by the date functions date.timezone = HongKong 如果不想修改 php.ini, 可以使用函数 date_default_timezone_set('Hongkong');

2007年12月14日09:43 | 没有评论
分类: 开源技术
标签: ,