PHP 5.3.1发布了!此次并没有增加多少新特性,主要是功能的改进和bug的修复:
新增了一个max_file_uploads参数,用于显示每个请求上传文件的个数
新增了再处理过程中的完整性检测
修复了传递tempnam()函数时safe_mode中的问题
修复了传递posix_mkfifo()时open_basedir中的问题
修复了safe_mode_include_dir中的问题
将bundled sqlite 升级到3.6.19版本
将timezone database升级到2009.17 (2009q)
查看更新文档:http://www.php.net/ChangeLog-5.php#5.3.1
PHP 5.3.1 下载地址:
http://www.php.net/downloads.php
PHP 5.3.1 镜像下载地址:
http://cn.php.net/get/php-5.3.1.tar.gz/from/a/mirror ......
//想看什么电子书,先去新浪读书搜索,然后填入对应的参数即可
//http://vip.book.sina.com.cn/
//电子书参数
$array_book[0] = 38884; //小说id
$array_book[1] = 22172; //章节起始id
$array_book[2] = 32533; //章节结束id
$array_book[3] = '中国特种部队生存实录:狼牙'; //小说名字
//匹配参数
$title_pre = "/<h1>(.*?)<\/h1>/"; //标题部分
$contents_pre = "/<div id=\"contTxt\" class=\"contTxt1\">(.*?)<\/div>/"; //内容部分
//生成电子书
for( $i = $array_book[1]; $i <= $array_book[2]; $i++){
$url = "http://vip.book.sina.com.cn/book/chapter_{$array_book[0]}_{$i}.html";
$html = file_get_contents($url);
preg_match_all($title_pre,$html,$title);
......
#找到:
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#添加PHP Files Type:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
编辑: ee /usr/local/etc/apache22/httpd.conf
添加PHP支持模块(很奇怪,难道在装Apache或者PHP的时候自己添加的?我没有进行添加操作..):
LoadModule php5_module libexec/apache22/libphp5.so
找到 /usr/local/www/apache22/data目录
在这个目录里面些一个PHP测试页面
<?php
phpinfo();
?>
随后 http://localhost/index.php 测试phpinfo();函数
OK完成 ......
1 安装MySQL5
用下列命令安装MySQL:
yum install mysql mysql-server
然后我们为MySQL创建系统启动链接(这样的话,MySQL就会随着系统启动而启动),并启动MySQL服务器:
chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start
运行
mysqladmin -u root password yourrootsqlpassword
来为root用户设置一个密码(否则任何人都可以访问你的MySQL数据库!)
2 安装Apache2
Fedora12默认有Apache2这个包,我们可以用下列命令安装它:
yum install httpd
现在配置下系统使得Apache能够随着系统启动而启动…
chkconfig –levels 235 httpd on
… 启动Apache:
/etc/init.d/httpd start
现在打开浏览器,访问http://192.168.0.100
或者localhost,你就应该能看到Apache2的预留页了:
在Fedora中Apache的默认文档路径在/var/www/html,配置文件是/etc/httpd/conf/httpd.conf。其余的配置文件存储在/etc/httpd/conf.d/。
3
安装PHP5
我们用下列命令安装PHP5和Apache PHP5模块:
yum install php
然后我们启动下Apache:
/etc/init.d/httpd restart
4
测试PHP5/获取PHP5安装后的详细信息
网站的默认 ......
1 安装MySQL5
用下列命令安装MySQL:
yum install mysql mysql-server
然后我们为MySQL创建系统启动链接(这样的话,MySQL就会随着系统启动而启动),并启动MySQL服务器:
chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start
运行
mysqladmin -u root password yourrootsqlpassword
来为root用户设置一个密码(否则任何人都可以访问你的MySQL数据库!)
2 安装Apache2
Fedora12默认有Apache2这个包,我们可以用下列命令安装它:
yum install httpd
现在配置下系统使得Apache能够随着系统启动而启动…
chkconfig –levels 235 httpd on
… 启动Apache:
/etc/init.d/httpd start
现在打开浏览器,访问http://192.168.0.100
或者localhost,你就应该能看到Apache2的预留页了:
在Fedora中Apache的默认文档路径在/var/www/html,配置文件是/etc/httpd/conf/httpd.conf。其余的配置文件存储在/etc/httpd/conf.d/。
3
安装PHP5
我们用下列命令安装PHP5和Apache PHP5模块:
yum install php
然后我们启动下Apache:
/etc/init.d/httpd restart
4
测试PHP5/获取PHP5安装后的详细信息
网站的默认 ......
利用飞信API实现公司内部发送短信可以省下不少钱.网上也有不少飞信API,但感觉不可靠,
还是自己写了一个简单的API.调用地址如下,不会记录飞信密码.
喜欢的朋友可以试试,结合AU3又写了个UDF.这下发短信方便很多了.
http://lab.l4ever.cn/fetion/api/?from=发送手机&pw=飞信密码&to=接收号码&msg=短信内容
传递的参数为UTF-8编码,注意调用API的时候注意地址,全部都小写,Linux服务器是区分大小写的,
返回参数有两段,用半角分号分割!返回的内容分别为:
发送状态;正常则返回接收号码|失败则返回错误原因
以下为Au3应用示范,保存为FetionSMS.au3,调用即可.
查看源代码打印帮助
01.; 本UDF用于利用飞信API发送免费短信,接收号码必须为发送号码的飞信好友放可发送
02.; UDF作者:L4EVER QQ:425145 http://L4EVER.cn
03.; 使用方法:FetionSMS("发送手机","飞信密码","接收手机","发送内容","返回值")
04.;===============================
05.; 使用演示:
06.; #include "FetionSMS.au3"
07.; msgbox(32,"飞信短信",FetionSMS("15999999999","l4ever.cn","15999999999","短信测试SMSTEST"))
08.;=========================== ......
这篇文章的出发点是我对插件机制的理解,及其在PHP中的实现。此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论。
插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影响系统核心模块的运行,也就是说插件是一种非侵入式的模块化设计,实现了核心程序与插件程序的松散耦合。一个典型的例子就是Wordpress中众多的第三方插件,比如Akimet插件用于对用户的评论进行Spam过滤。
一个健壮的插件机制,我认为必须具备以下特点:
插件的动态监听和加载(Lookup)
插件的动态触发
以上两点的实现均不影响核心程序的运行
要在程序中实现插件,我们首先应该想到的就是定义不同的钩子(Hooks);“钩子”是一个很形象的逻辑概念,你可以认为它是系统预留的插件触发条件。它的逻辑原理如下:当系统执行到某个钩子时,会判断这个钩子的条件是否满足;如果满足,会转而先去调用钩子所制定的功能,然后返回继续执行余下的程序;如果不满足,跳过即可。这有点像汇编中的“中断保护”逻辑。
某些钩子可能是系统事 ......