Warning: curl_exec() has been disabled for security reasons in /pub/host/sunboyu/sunboyu/www/wp-includes/http.php on line 1022
2008 十一月 21 一个程序猿 孙小一,孙小二,PHP,MYSQL,LINUX,APACHE,原创技术,扯淡

给APACHE增加mod_perl,使其支持perl脚本编写的程序

作者 : admin 于 2008年11月21日, 16:59:14
2008
11-21

老样子,下载 perl-5.8.8.tar.gz mod_perl-2.0-current.tar.gz perlinfo.zip
wget http://www.sunboyu.cn/sourse/perl-5.8.8.tar.gz
wget http://www.sunboyu.cn/sourse/mod_perl-2.0-current.tar.gz
wget http://www.sunboyu.cn/sourse/perlinfo.zip

tar -zxvf perl-5.8.8.tar.gz
tar -zxvf mod_perl-2.0-current.tar.gz
tar -zxvf perl-5.8.8.tar.gz

先安装perl ./Configure -h 看帮助吧,忘了
在安装 mod_perl #perl Makefile.PL WITH_APXS=/opt/httpd-2.2.9/bin/apxs
如果报错,看看帮助,得加几个参数
然后修改 httpd.conf ,增加 LoadModule perl_module modules/mod_perl.so
最后在虚拟目录里增加

  1. <location /cgi-bin>
  2.   SetHandler perl-script
  3.   PerlResponseHandler ModPerl::Registry
  4.   Options +ExecCGI
  5.   PerlOptions +ParseHeaders
  6.   PerlOptions +SetupEnv
  7. </location>

然后把perlinfo.zip里那个探针放在cgi-bin目录下,访问一下,如果显示相关信息,证明配置成功。
费了半天劲,就为了用一个awstats。
突发奇想,是不是把python和ruby也配置上?

PHP中引用返回的用法

作者 : admin 于 2008年11月21日, 10:49:47
2008
11-21

先看个例子

  1. function &new_class( $classname )
  2. {
  3.         static $object = array();
  4.         if(isset( $object[$classname] ))
  5.         {
  6.                 return $object[$classname];
  7.         }
  8.         $object[$classname] = & new $classname();
  9.         return $object[$classname];
  10. }
  11. class abc
  12. {
  13. public $a;
  14. public $b;
  15. function abc()
  16. {
  17. $this->a = 1;
  18. $this->b = 2;
  19. }
  20. }
  21. class test
  22. {
  23. }
  24.  
  25. $a = new test();
  26. $a->abc = & new_class( 'abc' );
  27. print_r($a);

很显然,这样做的好处是减少了实例化对象的复制,直接绑定了对象。这样减少了内存的消耗和操作的复杂。但实际上官方又说了这么一句,很是纳闷:
Do not use return-by-reference to increase performance, the engine is smart enough to optimize this on its own.
不要尝试用引用返回提高性能,因为PHP引擎足够聪明,自己会解决。
闷中