简介:这是php学习 第一课的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=342153' scrolling='no'>1.1 PHP的概述
简单来讲,PHP的起源就是一个蛋疼的人,写了一个在他那年代比较新鲜的东西,这东西用来解析html之类的东西,统计访问数据的小工具。然后呢,有相当多的人感兴趣,因为那是这东西少嘛,后来就发展成这么大的开发语言了。
不过一般认为PHP4是这个语言的正式发布版本。
PHP4的几样核心改变:
1. 改进资源处理
2. 支持面向对象(可能是伪面向对象)
3. 内置会话处理功能
4. 加密库的引入
5. ISAPI支持,就是能在微软的IIS上安装PHP
6. 内置COM/DCOM支持,windows的互操作性的增强
7. 内置JAVA支持,支持PHP程序绑定JAVA对象
8. 与Perl兼容的正则表达式库,因为Perl的正则表达式牛逼就是了,有多牛逼我也不知道,反正就是牛逼了
PHP5更上一层楼:
1. 大大增加了面向对象的特性,方便了框架开发,无对象不编程啊,现在是。
2. Try/catch的异常处理机制加入。
3. 改进的xml处理,web服务功能添加
4. 对SQLite数据库的内置添加,貌似现在这个微型数据库很流行啊。
PHP6 一桶江湖
1. 对Unicode的支持,搞了半天之前的版本都不支持UNICODE的,反应有点迟缓啊。
2. 安全改进,好似以前的PHP没有安全性?
3. 新语言特性,比如64位整型,多维数组foreach循环改造。对标签break的支持。
1.2 一般语言特性
1. 实用性,没错PHP语言最大的特色,摒弃了任何复杂的过程,比如<?php echo date("f j, y");?> 这个是输出类似September 23, 2011的格式的日期
2. 紧凑性,$radomString = substr(md5(microtime()) , 0 , 5);这一行输出随机的5个数,其实说白了,就是函数各种嵌套,但是也有别于其他语言的函数嵌套,以后会说明。
3. 松散性,简单的讲就是随便搞变量,不需要声明,用完也不需要管,也没有类型,总之不用理会的东西,随便的很。
1.3 强大功能,这个是个编程语言就会将到自己是强大的。
初略来说的话,现在PHP大概有180多个可用库,差不多1000多项功能,统计的还真J8细啊。
一些可能不知道的功能:创建和处理Flash,图片和PDF文件,登录凭证验证,采用多协议通道:LDAP,IMAP,POP3,NNTP,DNS等,这玩意猥琐男表示也不是很明白,了解一下就好了。等猥琐男修炼个几年后在来详细解释这个东东。
2.1 安装环境配置
我先说一下,如果您不想了解如何手动配置这些东西,你完全可以交给空间服务商来搞这种“低级”的事情,如果你想快速搭建开发环境,那么XAMPP也许是个不错的选择,这个东西是几个程序的整合包包括 apache,php,perl和MySQL,傻瓜式一键安装,非常简单,猥琐男就不费口水了。
我这里主要讲一下手动安装,和需要注意的地方
1. 你要下载apache,虾米?不知道apache是干嘛的? IIS是干嘛的总知道吧,他们是一样的东西,都是继承自web 服务器。有源码和2进制的,你如果不是太蛋疼要去用源码编译,那就下载2进制的,直接安装好了。
2. 下载PHP ,这个不用说了,PHP程序的运行环境。没有他,电脑它也不认识你写的PHP代码。同样有安装包和源码,同样推荐直接安装,因为猥琐男和大家一样是相当懒的。
3. 获得文档,文档这东西比任何教程都专业,大家可以去找一下PHP和Apache的中文手册,英文的猥琐男标识很迷茫。
2.2 安装
如果您还在windows下面配置lamp的话,我建议您装个VirtualBox来虚拟一下Linux环境,在2个环境中都配置一下环境,这样您就是全才了,我觉得多了解一下Linux对您绝对没坏处,猥琐男也在同步更新Linux的教程,你如果感兴趣可以看看
Linux下的环境安装,猥琐男以身作则,来配置一个环境,先下载php
下载apache
貌似都只有源码的方式安装
解压apache
%>gunzip http-2_x_xx.tar.gz
%>tar xvf http-2_x_xx.tar
解压php
%>gunzip php_xx.tar.gz
%>tar xvf php_x_xx.tar
这个操作会在当前目录下面解压出2个对应的文件夹,具体命令不必纠结,咱们这也不是讨论liunx课堂的地方。
配置和构建apache
%>cd http-2_x_xx (进入目录)
%>./configure --enable-so (启用共享模块,所谓共享模块就是说apache中可以安装各种module来增强功能,php也是其中一个模块,所以共享模块不启动,就是浮云)
%>make (开始构建)
%>make install (安装)
配置和构建php也是一个道理了
%>cd php-x_xx (进入目录)
%>./configure --with-apxs2=/usr/local/apache2/bin/apxs (这个是apache默认的安装目录)
%>make (开始构建)
%>make install (安装)
猥琐男在这里是一部成功了,基本上不会出什么问题,当然你Linux下面必须有GUN gcc编译器用来make源代码,并且需要有perl用来运行apxs脚本来整合php和apache2 ,猥琐男装的cent os6的Linux,这些东西在安装时都可以配置自带的了。
顺带说一些,这个配置时间还是有点小长,各种零食,瓜子准备着。
安装完成后,就是配置的问题了,php自带了一个配置文件,php.ini,要特别注意的是,他的本来的名字是叫php.ini-dist。需要复制这个文件到指定的位置,然后重命名为php.ini。这个文件的位置其实是任意的,那么就需要 --with-apxs2=/usr/local/apache2/bin/apxs 的选项来配置php,大家自己去研究吧。或者要用到自定义配置路径的时候再查相关的资料,什么东西都想记下来,猥琐男告诉你,不可能。
另外一个值得注意的是有一个非标准的php配置文件php.ini-recommended,这个文件可能与以前遗留的程序不兼容,如果要使用这个文件,替换掉原来的配置文件就行了
%>cp php.ini-recommended /usr/local/lib/php.ini
完了之后检查一下apache的配置文件是否有了php的模块调用
蛋疼的事情发生了,在apache配置文件中,没有找到自动生成的php模块配置
LoadModule php5-module modules/libphp5.so
AddType application/x-httpd-php .php (这里的是将.PHP映射到这个模块处理,和iis的 asapi 赛选情况类似,你完全可以指定诸如 .html .rrrr .zz这样任意的后缀,那这样的话只要是以这个文件格式结尾的请求都交到php模块来处理,如果是取静态的文件需要PHP来处理就会发生性能的损耗,所以这里也是请注意)
猥琐男发现用 %>find / -name Libphp5.so这个文件, 也找不到。神马情况这个是。这个文件到那里去了呀,猥琐男搞了2小时了,为了这个文件。除了一个操字,没有别的东西能表达猥琐男此刻心情!!!
重新make了一下,不知道为什么Libphp5.so又存在于/usr/local/apache2/modules/ 文件中了,但是新的错误有出现了,我日它大爷,今天算是栽在这上面了
说是神马不能识别符号,到网上找了半天,说是要装bison 但是哥电脑里有bison,好吧我重装,Linux 胜利了。
重新装了一下%>yum reinstall bison 这玩意不知道是什么。我也没想去了解。已经有点服气了。装了,新错误出现
看了一下怎么改都不行,说是缺少主机名,猥琐男根据baidu上的各种方式都没有,还是显示这鸟东西,但是不影响网站,我靠这个配置以后再看,实在弄不明白了,但是估计也不影响服务运行。
好了,这次就到这里吧,搞了好长时间了。