手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表2024年09月的文章

php5不再支持2003

看了一下5.5的更新。。原来5.5开始就放弃windows 2003了。那些想在2003上跑应用的人,要哭了
http://www.php.net/manual/en/migration55.new-features.php

Windows XP and 2003 support dropped

Support for Windows XP and 2003 has been dropped. Windows builds of PHP now require Windows Vista or newer.

添加了finally....

finally keyword added

try-catch blocks now support a finally block for code that should be run regardless of whether an exception has been thrown or not.

foreach的时候,可以list了。不需要再$val[0]

foreach now supports list()

The foreach control structure now supports unpacking nested arrays into separate variables via the list() construct. 

 

empty() supports arbitrary expressions

Passing an arbitrary expression instead of a variable to empty() is now supported.

array and string literal dereferencing

Array and string literals can now be dereferenced directly to access individual elements and characters:

PHP代码
  1. <?php  
  2. echo 'Array dereferencing: ';  
  3. echo [1, 2, 3][0];  
  4. echo "\n";  
  5.   
  6. echo 'String dereferencing: ';  
  7. echo 'PHP'[0];  
  8. echo "\n";  
  9. ?>  
还有一个:

New password hashing API

A new password hashing API that makes it easier to securely hash and manage passwords using the same underlying library as crypt() in PHP has been added. See the documentation for password_hash() for more detail.

 

额。难道以后的wordpress也可以直接用这个了?

[转]infoQ:从WordPress看开源平台的发展

这是EasyChen写的一篇文章,今天在微博上,技术圈里很火,我 先从几个方面谈一下吧。我说的内容与easychen要讲的内容无关,只是纯粹说一些事:
1、会写代码的人不一定会说,不一定会写,这点很多人需要锻炼。
2、会写会说的 很容易变成领袖,因为他能够把自己想表达的东西完成的表达出来
3、会说不会写的人,同样很多,这些人往往都变成了产品经理。(并非攻击产品经理,只是发现每个公司的技术人员之所以会特别苦逼,就是因为说不来而处处被产品经理压制,明明心里有很多话想说,却变成了让自己压抑的心情)
---上面只是顺带的内容。

下面是部分摘要,有兴趣的还是看原文吧:http://www.infoq.com/cn/articles/wordpress-with-opensource-platform

我关注的原文中的几个点是:

1、第三方挣钱后,Automattic并没有跳出来要分钱,而是选择了以增强用户体验为切入点的双赢方式:

  1. 为了解决没有服务器也想用WordPress用户的需求,Automattic推出了WordPress托管服务,采用免费+增值的方式,通过直接收费和google adsense挣钱
  2. 为了帮助用户远离垃圾留言,Automattic推出了AKismet服务,这个服务对个人免费,对企业收费
  3. 为了让用户随时能备份数据,Automattic推出vaultpress收费备份服务 无需更多举例,在庞大的用户基数上,每一项增强服务都能带来真金白银。

2、WordPress没有强制不允许用户修改代码,而是做了一件看起来毫无关联的事情:他们提供了WordPress的在线升级,只要你点击一下按钮,整个WordPress就变成全新的了,只要10秒钟!多么棒的用户体验!但在方便的同时,对代码的修改会全部丢失,如果想保留你的修改,只有把改动做成可重用的主题或者插件。这是我见过最聪明的决定,一石三鸟:

  1. 提供了NB的用户体验;
  2. 锁定了核心代码,不允许修改;
  3. 扩展功能被封装成插件,刺激了生态系统的增长。

这两点在做开源软件的人心里应该好好想想,怎么让人捆绑在你的平台上,才是最重要的。做长久,而不要短视

为什么穷人的行为令其难以摆脱贫困

转一篇文章 ,标题和原标题一样,没有做变化。原文内容很短:

http://www.solidot.org/story?sid=32079
  1. 穷人的一些行为如过度借钱、不参与援助和储蓄过少让他们更难摆脱贫困。科学家对他们的行为给出了不同的解释,如个性和环境因素。发表在《科学》上的最新论文指出,穷人的这些行为源于他们的贫困,匮乏会影响他们的决策。研究人员让志愿者参与一系列游戏,他们发现较穷的玩家会在选择上犹豫不决或过于投入,随着游戏的进展而感到心力交瘁,他们的一些决策常常适得其反。研究人员得出结论:穷人常常会为具体的费用储蓄及借钱,认为吸引他们到未来具体需求上的政策和计划需要对他们的储蓄有帮助。  

之所以会转载这个。是因为在群里的时候,廖羽雷说,他买了一个后台模版,花了15美金,然后我们说说了。好贵啊。100块钱。
这时候老廖说了这么几句:

  1. 反正比你自己做模版快多了。而且你自己做不到这么专业
  2. 自己搭配各种js就搞死了
  3. 一个php工资5k,一个工作日就是200.给他半个月也做不出这效果来
  4. 以前看到好的模版就照着抄,现在觉得这事儿太傻逼
  5. 是观念变了。按理说没钱的时候更应该花这种钱,把有限的精力用在更重要的事情上

基于上述5点,sm和神仙都说了自己的看法,然后hc转了上面的网址:

  1. SuperMan 屁股决定脑袋的事。苦逼码农才不会想着拿钱买时间
  2. 神仙 以前当码农的时候,再便宜,自己出也是从自己工钱来啊
  3. Horadric.Cube 人们在钱少的时候很干扰自己的决定

对着上面转贴的内容,你现在觉得自己是怎么想的呢?

1024究竟是什么意思

早上是在听广播的时候突然想到了1024,为什么呢。。。。因为在网上搜索fm1024的时候,可以搜到很多电台,而老家的广播台的fm频率就是1024
早几年,知道了计算机后,才知道1024是512的翻倍,也就是2的某次方而已,但十几二十年前的老家电台老总应该不知道这么深奥的东西啊。于是就网上search了一下。1024究竟是啥

然而结果是让人喷血的,1024的含义果然深刻,有人说,这是一级棒(1024 = 1GB = 1级棒),但更有人说,这其实是一个暗号,你看这里就是这么说的:

http://blog.sciencenet.cn/blog-200147-471908.html
  1. 最近几年,在互联网上有一个怎么和谐都和谐不掉的黄色论坛,名字叫“草榴社区”。这个社区规定,网友回复别人帖子的间隔为1024秒,也就是说在这个论坛上你每隔1024秒才能顶别人的帖子一次。  
  2.    
  3. 于是在这个论坛上发布的每一个黄贴下面,都齐刷刷的排列着网友的回复,回复内容就是1024,表示网友愿意把这1024秒贡献给这篇帖子,大力顶。  
  4.    
  5. 由于草榴社区在祖国淫民中普及程度很深,所以广大wsn们就把1024这个数字搬到了各个论坛。  
  6.    
  7. 明白了吗?1024就是这个意思,它来自一个黄色网站,跟2的多少次方都没关系。  
  8.    
  9. 今后你在使用这个数字的时候也要适当注意,如果你没去过草榴社区的话最好别用,免得突然有人跟你要网址……  

额,我的天啊,原来1024的含义这么深刻 ?

Tags: 1024, fm

aliyun 安装 ftp(proftpd)

有了服务器,怎么着都得装个Ftp吧,否则,必须得让人用ssh连接来上传文件 ?
于是我找了proftpd,因为比较简单vsftpd太麻烦了。proftpd的教程很简单

1、先apt-get update,apt-get upgrade
2、apt-get install proftpd-basic proftpd-mod-mysql
3、修改 /etc/proftpd/proftpd.conf
因为原内容都注释了,所以直接在文件的最后加上:

XML/HTML代码
  1. DefaultRoot ~  
  2. Include /etc/proftpd/sql.conf  
  3. RequireValidShell off  

4、添加一个组,和一个用户:

XML/HTML代码
  1. groupadd -g 2001 ftpgroup  
  2. useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser  

5、去mysql里增加一个用户,如proftpd/proftpdpass,建一个数据库,如:proftpd
6、插入表结构:

SQL代码
  1. CREATE TABLE ftpgroup (  
  2.  groupname varchar(16) NOT NULL default '',  
  3.  gid smallint(6) NOT NULL default '2001',  
  4.  members varchar(16) NOT NULL default '',  
  5.  KEY groupname (groupname)  
  6.  ) ENGINE=MyISAM COMMENT='ProFTP group table';  
  7.   
  8. CREATE TABLE ftpuser (  
  9.  id int(10) unsigned NOT NULL auto_increment,  
  10.  userid varchar(32) NOT NULL default '',  
  11.  passwd varchar(32) NOT NULL default '',  
  12.  uid smallint(6) NOT NULL default '2001',  
  13.  gid smallint(6) NOT NULL default '2001',  
  14.  homedir varchar(255) NOT NULL default '',  
  15.  shell varchar(16) NOT NULL default '/sbin/nologin',  
  16.  count int(11) NOT NULL default '0',  
  17.  accessed datetime NOT NULL default '0000-00-00 00:00:00',  
  18.  modified datetime NOT NULL default '0000-00-00 00:00:00',  
  19.  PRIMARY KEY (id),  
  20.  UNIQUE KEY userid (userid)  
  21.  ) ENGINE=MyISAM COMMENT='ProFTP user table';  

7、修改/etc/proftpd/modules.conf,去掉两行注释:

XML/HTML代码
  1. LoadModule mod_sql.c  
  2. LoadModule mod_sql_mysql.c  

8、修改/etc/proftpd/sql.conf

 

 

XML/HTML代码
  1. SQLBackend mysql  
  2. SQLAuthTypes Crypt  
  3. #下面一行就是用户名密码  
  4. SQLConnectInfo 数据库@localhost 用户名 密码   
  5. SQLUserInfo ftpuser userid passwd uid gid homedir shell  
  6. SQLGroupInfo ftpgroup groupname gid members  
  7. # Update count every time user logs in  
  8. SQLLog PASS updatecount  
  9. SQLNamedQuery updatecount UPDATE "countcount=count+1, accessed=now() WHERE userid='%u'" ftpuser  
  10. SQLLog STOR,DELE modified  
  11. SQLNamedQuery modified UPDATE "modified=now() WHERE userid='%u'" ftpuser  

9、插入用户:

XML/HTML代码
  1. INSERT INTO `ftpgroup` (`groupname`, `gid`, `members`) VALUES ('ftpgroup', 2001, 'ftpuser');  
  2. INSERT INTO `ftpuser` ( `userid`, `passwd`, `uid`, `gid`, `homedir`, `shell`, `count`) VALUES ( 'username', ENCRYPT('password'), 2001, 2001, '/var/www/www.example.com/', '/sbin/nologin', 0);  

10、重启proftpd:/etc/init.d/proftpd restart
上面这段其实是来自:http://www.sysadminworld.com/2011/install-proftpd-with-mysql-backend-on-debian-ubuntu/

 

--------EOF---

至此,上面的内容基本上就能够登录成功了,如果还是失败,建议先停掉proftpd,然后运行proftpd -nd6,查看错误信息,比如我就看到了这个:

XML/HTML代码
  1. Mar 09 00:22:29 test proftpd[8850] test (0.0.0.0[0.0.0.0]): notice: unable to use '~/' [resolved to '/server/wwwroot/htdocs/']: Permission denied  
  2. Mar 08 16:22:29 test proftpd[8850] test (0.0.0.0[0.0.0.0]): Preparing to chroot to directory '~/'  
  3. Mar 08 16:22:29 test proftpd[8850] test (0.0.0.0[0.0.0.0]): chroot to '~/' failed for user 'xxxxxx': Operation not permitted  
  4. Mar 08 16:22:29 test proftpd[8850] test (0.0.0.0[0.0.0.0]): error: unable to set default root directory  
  5. Mar 08 16:22:29 test proftpd[8850] test (0.0.0.0[0.0.0.0]): FTP session closed.  

我靠,这个怎么办?

 

这时候我又请vampire帮忙了。他就帮我检查了一下,做了几个处理:

1、vim /etc/groups ,在www-data:x:33后面加了:www-data:x:33:ftpgroup ,表示权限跟着www-data,因为我们的ftp目录里的文件都是基于www-data的

2、修改/etc/proftpd/proftpd.conf,改其中的:user / group ,都改成www-data

3、还是/etc/proftpd/proftpd.conf ,改 Umask ,原来是Umask 022 022,去掉一个022

4、因为我的www-data是gid是33,所以刚才在数据库里插的gid统统换成33,而不是原来的2001,这时候再登录其实还是不正常。

5、最重要的一个,在刚才的sql.conf里面,加入:SQLMinID 33,这个玩意要参考:http://www.proftpd.org/docs/directives/linked/config_ref_SQLMinID.html,我晶,这个东西,居然在默认的sql.conf里是没有这一行的。果然还是vampire有经验。因为www-data的gid是33,所以sqlminid就是33了。

这时候,终于一切正常了。折腾了好久。。。

 

 

 

 

 

 

 

Tags: aliyun, proftpd