喜欢的人在线我就安心,虽然他不找我我不找他。
PHP是一种纯解释型在服务端执行的可以内嵌HTML的脚本语言尤其适合开发Web应用程序
请求一个 PHP 脚本时PHP 会读取该脚本并将其编译为 Zend 操作码这是要执行的代码的一种二进制表示形式随后此操作码由 PHP 执行并丢弃 PHP脚51, 51, 51; text-indent: 2em;">本在每次被解释时进行初始化在解释完毕后终止运行这种运行是互相独立的每一次请求都会创建一个单独的进程或线程来解释相应的页面文件页面创建的变量和其他对象都只在当前的页面内部可见无法跨越页面访问在终止运行后页面中申请的没有被代码显式释放的外部资源包括内存数据库连接文件句柄Socket连接等都会被强行释放也就是说PHP无法在语言级别上实现直接访问跨越页面的变量也无法创建驻留内存的对象
PHP这种独特的工作模型的优势在于基本51, 51, 51; text-indent: 2em;">上解决了令人头疼的资源泄漏问题Web应用的特点是大量的短时间的并发处理对各种资源的申请和释放工作非常频繁很容易导致泄漏甚至崩溃PHP的运行机制决定它不存在常规的崩溃问题顶多连接超时脚本停止执行可以说PHP是较稳定的Web应用但是这种机制的缺点也非常明显最直接的后果是PHP在语言级别无法实现跨页面的缓冲机制这种缓冲机制缺失造成的影响可以分成两个方面
一是对象的缓冲51, 51, 51; text-indent: 2em;">众所周知很多设计模式都依赖于对象的缓冲机制创建和销毁对象是很费时间的因为创建一个对象要获取内存资源或者其它更多资源对于需要频繁应付大量并发的服务端软件更是如此因此对象缓冲的缺失理论上会极大地降低速度应尽可能减少创建和销毁对象的次数来提高服务程序的效率由于 PHP目前还不支持多线程也就无法像Java一样通过线程池调度来弥补这一缺陷但可以使用第三方软件如Memcachd来实现PHP的对象缓冲机制达到减少对象创建和销毁的时间来提高服务程序的效率Memcachd将PHP编译后的 操作码缓存并在内存中保存这个操作码并在下一次调用该页面时重用它这会节省很多时间比较常用的缓存还有有 eAccelerator另一种流行的 eAccelerator 替代工具是 Alternative PHP CacheAPC
二是数据库连接51, 51, 51; text-indent: 2em;">的缓冲对于MySQLPHP提供了一种内置的数据库缓冲机制即用mysql_pconnect代替mysql_connect 来打开数据库而已PHP会自动回收被废弃的数据库连接以供重复使用在实际应用中这种持久性数据库连接往往会导致数据库连接的伪泄漏现象在某个时间并发的数据库连接过多超过了MySQL的最大连接数从而导致新的进程无法连接数据库但是过一段时间当并发数减少时PHP会释放掉一些连接网站又会恢复正常出现这种现象的原因是当使用pconnect时Apache 的httpd进程会不释放connect而当Apache的httpd进程数超过了mysql的最大连接数时就会出现无法连接的情况因此需要小心地调整Apache和Mysql的配置以使Apache的httpd进程数不会超出MySQL的最大连接数笔者经过实践在PHP5和 Oracle10g的连接中由于频于数据库连接有时候还会出现数据库丢失连接的情况Oracle官方有针对PHP的增强包不知是否可以解决此问题笔者未试
PHP的工作模51, 51, 51; text-indent: 2em;">型即是缺点也是优势从本质上说这就是PHP 的独特之处
若以FastCG51, 51, 51; text-indent: 2em;">I模式运行php,解析php.ini载入全部扩展并重初始化全部数据结构这些都只在进程启动时发生一次一个额外的好处是持续数据库连接可以工作Nginx+PHPFastCGI是个不错的选择
加密的目的加密不同于密码,加密是一个动作或者过程,其目的就是将一段明文信息(人类或机器可以直接读懂的信息)变为一段看上去没有任何意义的字符,必须通过事先约定的解密规则才能将信息转换回有意义的可读信息,通过加密可以防止非授权的信息窃取。PHP加密函数PHP的加密函数有crypt()……阅读全文 >>
(一)开源性和免费性由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。(二)快捷性PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概……阅读全文 >>
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.下面我们就以单独为php加载m……阅读全文 >>
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程……阅读全文 >>
PHP,一个嵌套的缩写名称,是英文“超级文本预处理语言”(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的“嵌入HTML文档的脚本语言”,语言的风格有类似于C语言,现在被很多的……阅读全文 >>
今天,网络技术正以突飞猛进的速度发展,而企业也要与时俱进,只有高度重视并充分利用网络技术,才能在实际运行过程中,让网络成为企业发展的助力。PHP语言作为网站开发的通用语言,简单易行,可移植性好,应用空间广泛,逐渐受到网站开发人员的欢迎。因此,在行业网站建设过程中,具有良好的应用前……阅读全文 >>
1.PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。2.PHP可以比CGI或者Perl更快速的执行动态网页——动态页面方面,与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成htmL标记的CGI要高许多;PHP具有非常强大的功能……阅读全文 >>
PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP正迅速变成一种标准的,多用途的,面向对象的脚本语言。PHP不仅可用来开发……阅读全文 >>
首先你要先了解PHP是什么意思:各大百科都有介绍:(摘了一部分仅供参考)PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌……阅读全文 >>
1、良好的安全性PHP是开源软件,所有PHP的源代码每个人都可以看得到,代码在许多工程师手中进行了检测,同时它与Apache编绎在一起的方式也可以让它具有灵活的安全设定,PHP具有了公认的安全性能。开源造就了强大,稳定,成熟的系统。2、跨平台特性PHP几乎支持所有的操作系统平台及……阅读全文 >>