千万个美丽的未来,抵不上一个温暖的现在,每一个真实的现在,都是我们曾经幻想的未来!
May
23
语法结构教科书上的知识和实际的程序设计是有区别的,真正的知识要在实际的开发中获得。每个php的开发人员在开始开发web应用程序之前,都应该 熟悉下面的五件事:
1. 框架
框架可以说是php开发中的一个最重要的问题。 用php开发web应用程序时有很多方法,有很多开源的框架可以使用,可以帮助快速的开发,保持更高的一致性和有效性。 其中比较好的框架包括cakephp ,Symfony和CodeIgniter 。很多框架还按照MVC设计模式 ,如果你在这个模式下工作过,那你一定会很熟悉。过一段时间,你甚至可以根据自己的需要来创建框架。
2. 模板引擎
如果您使用的不是一个框架来执行一个具体的设计模式,那么您想要使用的是模板引擎。不论你是自己创建或是使用现有的模板(如 Smarty),模板引擎都会使你的逻辑代码从HTML页面中独立出来(以及相关的CSS / js /等)。 这大大的简化了你的代码,使整个程序的修改变得快速简单,也使非开发者更容易修改你的程序。
3. 代码重用
正如我先前提过的,php是所用语言中代码重用性最好的。从多中小的文档到整个数据库类,php开发者需要的时候可以随意的选择重用现有的代码。其 实,你几乎可以不用编写一行代码就能建立起整个应用程序。
4. 不重新开发现有的东西
很明显的一件事,只有少数的php开发者知道php本身有很多可用之处。忘记新的图书馆,或复杂的代码例程-先看看PHP手册。 例如,你们有没有听过number_format(), parse_url(), wordwrap()或bbcode_parse()?看一下整个函数参考 ,选择一个类别,浏览一下,您一定会有所发现。
5. IRC 是令人愉快的事
当你有个复杂的问题不能解决的时候,可以到IRC上。php非官方的支持频道,很多经验丰富的开发者陶醉其中。你需要一个IRC客户端,如果你用的 Firefox,ChatZilla是一个很好的插件,当你需要帮助时,以irc://irc.freenode.net/php做为头部粘贴你的代码。 张贴您的问题,并耐心等待;某种热心人(或多个)会给你答案。当你得到答案后,考虑一下其他需要帮助人的问题。对于php庞大的函数库来说,没有人是泰 斗;在IRC上,汇集所有人的知识就可以解决任何问题。
1. 框架
框架可以说是php开发中的一个最重要的问题。 用php开发web应用程序时有很多方法,有很多开源的框架可以使用,可以帮助快速的开发,保持更高的一致性和有效性。 其中比较好的框架包括cakephp ,Symfony和CodeIgniter 。很多框架还按照MVC设计模式 ,如果你在这个模式下工作过,那你一定会很熟悉。过一段时间,你甚至可以根据自己的需要来创建框架。
2. 模板引擎
如果您使用的不是一个框架来执行一个具体的设计模式,那么您想要使用的是模板引擎。不论你是自己创建或是使用现有的模板(如 Smarty),模板引擎都会使你的逻辑代码从HTML页面中独立出来(以及相关的CSS / js /等)。 这大大的简化了你的代码,使整个程序的修改变得快速简单,也使非开发者更容易修改你的程序。
3. 代码重用
正如我先前提过的,php是所用语言中代码重用性最好的。从多中小的文档到整个数据库类,php开发者需要的时候可以随意的选择重用现有的代码。其 实,你几乎可以不用编写一行代码就能建立起整个应用程序。
4. 不重新开发现有的东西
很明显的一件事,只有少数的php开发者知道php本身有很多可用之处。忘记新的图书馆,或复杂的代码例程-先看看PHP手册。 例如,你们有没有听过number_format(), parse_url(), wordwrap()或bbcode_parse()?看一下整个函数参考 ,选择一个类别,浏览一下,您一定会有所发现。
5. IRC 是令人愉快的事
当你有个复杂的问题不能解决的时候,可以到IRC上。php非官方的支持频道,很多经验丰富的开发者陶醉其中。你需要一个IRC客户端,如果你用的 Firefox,ChatZilla是一个很好的插件,当你需要帮助时,以irc://irc.freenode.net/php做为头部粘贴你的代码。 张贴您的问题,并耐心等待;某种热心人(或多个)会给你答案。当你得到答案后,考虑一下其他需要帮助人的问题。对于php庞大的函数库来说,没有人是泰 斗;在IRC上,汇集所有人的知识就可以解决任何问题。
May
17
[AutoAPM作者:张宴 版本:v1.0.5 最后修改:2007.02.19 转载请注明出处:http://blog.s135.com]
因工作需要,编写了一个在Linux操作系统下自动从源码包编译安装Apache2.0.59、PHP5.2.1(支持freetype、libpng、jpegsrc、gd、libxml扩展)、MySQL5.0.33、ZendOptimizer3.2.2的bash脚本——AutoAPM,源代码完全公开,可根据自己的需要修改(命令行下tar zxvf autoapm-1.0.4.tar.gz解压缩后,vi autoapm即可)。
脚本前列的基本配置信息说明:
#---------------------config start-------------------------
mysql_tar_gz_name="mysql-5.0.33.tar.gz"
#MySQL的源码压缩包
mysql_source_dir_name="mysql-5.0.33"
#tar zxvf解压MySQL源码压缩包后的默认目录名
mysql_download_url="http://www.vista.ac.cn/autoapm/src/1.0.5/mysql-5.0.33.tar.gz"
#MySQL源码压缩包的下载网址
#---------------------config end---------------------------
使用说明:
在Linux字符界面中用wget http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz下载autoapm压缩包,然后用tar zxvf autoapm-1.0.4.tar.gz解压,最后输入./autoapm执行即可。
接下来会提示要您选择源码包来源,如果当前目录中有相应的源码包,可选择Current directory.,如果没有,可选择Download from Internet.,脚本会根据配置信息中的下载地址自动下载源码包并编译安装。编译安装的时间需要20至50分钟。
脚本源码:http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.src.txt
下载地址:http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz
AutoAPM 1.0.5 for Linux Written by Zhang Yan, SINA Corp., Beijing, China
A tool to auto-compile & install Apache, PHP, MySQL on Linux from sources
For more information please visit http://autoapm.vista.ac.cn
Usage:
[root@sina var]# wget http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz
[root@sina var]# tar zxvf autoapm-1.0.5.tar.gz
[root@sina var]# ./autoapm
The path of some dirs (If install to /opt/sina):
Apache dir: /opt/sina/apache/
Webpages dir: /opt/sina/apache/htdocs/
MySQL dir: /opt/sina/mysql/
PHP dir: /opt/sina/php/
The path of some files (If install to /opt/sina):
apachectl: /opt/sina/apache/bin/apachectl
httpd.conf: /opt/sina/apache/conf/httpd.conf
mysql: /opt/sina/mysql/bin/mysql
my.cnf: /etc/my.cnf
php: /opt/sina/php/php
php.ini: /opt/sina/php/etc/php.ini (Before install ZendOptimizer?)
php.ini: /opt/sina/zend/etc/php.ini (After install ZendOptimizer?)
Restart Apache: service httpd restart
Restart MySQL: service mysql restart
更新记录:
2007.01.19 AutoAPM v1.0.5 修正了源码包下载链接
2007.01.15 AutoAPM v1.0.4 第一个公开版本
因工作需要,编写了一个在Linux操作系统下自动从源码包编译安装Apache2.0.59、PHP5.2.1(支持freetype、libpng、jpegsrc、gd、libxml扩展)、MySQL5.0.33、ZendOptimizer3.2.2的bash脚本——AutoAPM,源代码完全公开,可根据自己的需要修改(命令行下tar zxvf autoapm-1.0.4.tar.gz解压缩后,vi autoapm即可)。
脚本前列的基本配置信息说明:
#---------------------config start-------------------------
mysql_tar_gz_name="mysql-5.0.33.tar.gz"
#MySQL的源码压缩包
mysql_source_dir_name="mysql-5.0.33"
#tar zxvf解压MySQL源码压缩包后的默认目录名
mysql_download_url="http://www.vista.ac.cn/autoapm/src/1.0.5/mysql-5.0.33.tar.gz"
#MySQL源码压缩包的下载网址
#---------------------config end---------------------------
使用说明:
在Linux字符界面中用wget http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz下载autoapm压缩包,然后用tar zxvf autoapm-1.0.4.tar.gz解压,最后输入./autoapm执行即可。
接下来会提示要您选择源码包来源,如果当前目录中有相应的源码包,可选择Current directory.,如果没有,可选择Download from Internet.,脚本会根据配置信息中的下载地址自动下载源码包并编译安装。编译安装的时间需要20至50分钟。
脚本源码:http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.src.txt
下载地址:http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz
AutoAPM 1.0.5 for Linux Written by Zhang Yan, SINA Corp., Beijing, China
A tool to auto-compile & install Apache, PHP, MySQL on Linux from sources
For more information please visit http://autoapm.vista.ac.cn
Usage:
[root@sina var]# wget http://www.vista.ac.cn/autoapm/down/autoapm-1.0.5.tar.gz
[root@sina var]# tar zxvf autoapm-1.0.5.tar.gz
[root@sina var]# ./autoapm
The path of some dirs (If install to /opt/sina):
Apache dir: /opt/sina/apache/
Webpages dir: /opt/sina/apache/htdocs/
MySQL dir: /opt/sina/mysql/
PHP dir: /opt/sina/php/
The path of some files (If install to /opt/sina):
apachectl: /opt/sina/apache/bin/apachectl
httpd.conf: /opt/sina/apache/conf/httpd.conf
mysql: /opt/sina/mysql/bin/mysql
my.cnf: /etc/my.cnf
php: /opt/sina/php/php
php.ini: /opt/sina/php/etc/php.ini (Before install ZendOptimizer?)
php.ini: /opt/sina/zend/etc/php.ini (After install ZendOptimizer?)
Restart Apache: service httpd restart
Restart MySQL: service mysql restart
更新记录:
2007.01.19 AutoAPM v1.0.5 修正了源码包下载链接
2007.01.15 AutoAPM v1.0.4 第一个公开版本
Dec
13
今天公司网站需要PHP的一个JSON扩展,使用PHPINFO查看了一下默认并没有安装,YUM搜索了一下也没有这个JSON的包,看来只能通过手工来安装一个了,安装的步骤很简单。
下载源文件包:
wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
wget http://pecl.php.net/get/json-1.2.1.tgz
http://pecl.php.net/package/json
然后解压下载的php-json-ext-1.2.0.tar.bz2文件
tar xvjf php-json-ext-1.2.0.tar.bz2
进入目录php-json-ext-1.2.0
cd php-json-ext-1.2.0
初始化PHP环境
phpize
接着编译
./configure
make
make install
编译过程中如无错误,可以进入PHP的扩展目录看下有没有生成json.so文件
cd /usr/lib/php/modules/
ls
查看是不是有 json.so
如果没有那就没有编译成功,然后在/etc/php.d/目录里创建一个json.ini文件
vi /etc/php.d/json.ini
写入:extension=json.so
重启apache服务
/etc/init.d/httpd restart 就可以了,然后phpinfo查看下是否加载了json扩展。
下载源文件包:
wget http://www.aurore.net/projects/php-json/php-json-ext-1.2.1.tar.bz2
wget http://pecl.php.net/get/json-1.2.1.tgz
http://pecl.php.net/package/json
然后解压下载的php-json-ext-1.2.0.tar.bz2文件
tar xvjf php-json-ext-1.2.0.tar.bz2
进入目录php-json-ext-1.2.0
cd php-json-ext-1.2.0
初始化PHP环境
phpize
接着编译
./configure
make
make install
编译过程中如无错误,可以进入PHP的扩展目录看下有没有生成json.so文件
cd /usr/lib/php/modules/
ls
查看是不是有 json.so
如果没有那就没有编译成功,然后在/etc/php.d/目录里创建一个json.ini文件
vi /etc/php.d/json.ini
写入:extension=json.so
重启apache服务
/etc/init.d/httpd restart 就可以了,然后phpinfo查看下是否加载了json扩展。
Nov
30
1、右键“计算机”,点击“管理”
2、添加角色
3、添加角色服务
如果你的程序在IIS7下出错,记得选择服务的时候添加IIS6兼容模块,如果无问题,这个可以不用选择;
4、打开“处理程序映射”
选择“添加模块映射”,添加你PHP目录中的php-cgi;
5、选择fastcgi配置(注意,这里如果是IIS7,则需要手动安装Administration Pack for IIS 7.0 ,如果是IIS7.5,则无需下载,IIS7.5已经集成此功能);
点击“Edit.。.”,则弹出如下图:
添加:PHP_FCGI_MAX_REQUESTS , value 数值10000;
进入你PHP的存放目录,复制一份php.ini-disk,改名为php.ini;
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
以上3个前的;去掉,并修改以上相应数值,如下图所示:
这样就可以完整的运行PHP了,可以用
<?php phpinfo();?>
测试是否正常;
以上PHP的配置,只是配置以fastcgi模式运行php,其他详细PHP.INI的配置跟原来IIS6中isapi的一样,可以照搬,网上教程一大把,我就不废话了。
2、添加角色
3、添加角色服务
如果你的程序在IIS7下出错,记得选择服务的时候添加IIS6兼容模块,如果无问题,这个可以不用选择;
4、打开“处理程序映射”
选择“添加模块映射”,添加你PHP目录中的php-cgi;
5、选择fastcgi配置(注意,这里如果是IIS7,则需要手动安装Administration Pack for IIS 7.0 ,如果是IIS7.5,则无需下载,IIS7.5已经集成此功能);
点击“Edit.。.”,则弹出如下图:
添加:PHP_FCGI_MAX_REQUESTS , value 数值10000;
进入你PHP的存放目录,复制一份php.ini-disk,改名为php.ini;
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
以上3个前的;去掉,并修改以上相应数值,如下图所示:
这样就可以完整的运行PHP了,可以用
<?php phpinfo();?>
测试是否正常;
以上PHP的配置,只是配置以fastcgi模式运行php,其他详细PHP.INI的配置跟原来IIS6中isapi的一样,可以照搬,网上教程一大把,我就不废话了。
Jul
26
PurgeHosting美国的一家虚拟主机服务商,为广大用户价格低廉的虚拟主机和代理主机,同时提供250M-1000M的免费虚拟主机。其提供的免费空间具有cPanel中文管理面板,ftp(3个ftp帐户)、web方式上传管理文件,支持PHP5、CGI,提供3个MySQL数据库,有免费二级域名,可以绑定1个域名、停放3个域名、添加100个二级域名,支持POP3、SMTP、IMAP的电子邮箱1个。另外,免费空间有250M(月流量1000M)和1000M(月流量5000M)两种,1000M的空间中会有广告,但实际使用没发现广告。
网址:http://www.purgehosting.com/hosting.php?pkg=free
注册后需要审核你的帐户,大约1天左右开通。开通后,登陆cPanel管理面板,进入“Configure Language”,选择“chinese”后点“change”按钮即可变为中文版。
如果你要在这个免费空间绑定自己的域名,添加绑定域名后设置域名DNS为:NS1.PURGEHOSTING.COM、NS2.PURGEHOSTING.COM,或设置CNAME别名到PurgeHosting提供的免费二级域名,这样生效更快。
演示:http://blog.loveyan.com
网址:http://www.purgehosting.com/hosting.php?pkg=free
注册后需要审核你的帐户,大约1天左右开通。开通后,登陆cPanel管理面板,进入“Configure Language”,选择“chinese”后点“change”按钮即可变为中文版。
如果你要在这个免费空间绑定自己的域名,添加绑定域名后设置域名DNS为:NS1.PURGEHOSTING.COM、NS2.PURGEHOSTING.COM,或设置CNAME别名到PurgeHosting提供的免费二级域名,这样生效更快。
演示:http://blog.loveyan.com