php一般做些什么?
php一般做些什么?PHP 能够生成动态页面内容 、PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件 、PHP 能够接收表单数据 、PHP 能够发送并取回 cookies 、PHP 能够添加、删除、修改数据库中的数据 、PHP 能够限制用户访问网站中的某些页面 、PHP 能够对数据进行加密 ,通过 PHP,您可以不受限于只输出 HTML。
您还能够输出图像、PDF 文件、甚至 Flash 影片。您也可以输出任何文本,比如 XHTML 和 XML。作为一个 服务端解释性的语言,PHP 能够胜任大多数的服务器方面的功能,包括 C\\S B\\S 架构的 S 端,批处理脚本等等。
使用PHP主要两点:
第一:使用 PHP可以自由地选择操作系统和 web 服务器。同时,还可以在开发时选择使用面对过程和面对对象,或者两者混和的方式来开发。尽管 PHP 4 不支持 OOP 所有的标准,但很多代码仓库和大型的应用程序(包括 PEAR 库)仅使用 OOP 代码来开发。PHP 5 弥补了 PHP 4 的这一弱点,引入了完全的对象模型。
第二:使用 PHP并不局限于输出 HTML。PHP 还能被用来动态输出图像、PDF 文件甚至 Flash 动画(使用 libswf 和 Ming)。还能够非常简便的输出文本,例如 XHTML 以及任何其它形式的 XML 文件。PHP 能够自动生成这些文件,在服务端开辟出一块动态内容的缓存,可以直接把它们打印出来,或者将它们存储到文件系统中。
PHP 还支持利用诸如 LDAP、IMAP、SNMP、NNTP、POP3、HTTP、COM(Windows 环境)等不计其数的协议的服务。还可以开放原始网络端口,使得任何其它的协议能够协同工作。PHP 支持和所有 web 开发语言之间的 WDDX 复杂数据交换。关于相互连接,PHP 已经支持了对 Java 对象的即时连接,并且可以透明地将其用作 PHP 对象。
PHP 具有极其有效的文本处理特性,包括 Perl 兼容正则表达式(PCRE)以及许多扩展和工具可用于解析和访问 XML 文档。PHP 将所有的 XML 功能标准化于坚实的 libxml2 扩展,并且还增加了 SimpleXML,XMLReader 以及 XMLWriter 支持以扩充其功能。另外,还有很多其它有趣的扩展库,在此根据字母和分类归类列出。还有一些附加的 PECL 扩展可能有也可能没有在 PHP 手册中列出,例如 » XDebug。PHP 的优势在于简单,快速,以及庞大的开源社区。
当然有利必有弊,PHP 在多线程,性能等方面还是略显不足的:
一、不适合多线程:因为PHP天生不支持多线程。虽然有一些来源(php 多线程 – Google Search)说可以模拟
二、不太适合通过PHP执行CommandLine的命令:虽然有exec,但是output只能得到STDOUT的,从我的理解范围内不能得到STDERR的
PHP 最强大最显著的特性之一,是它支持很大范围的数据库。使用任何针对某数据库的扩展(例如 mysql)编写数据库支持的网页非常简单,或者使用抽象层如 PDO,或者通过 ODBC 扩展连接到任何支持 ODBC 标准的数据库。其它一些数据库也可能会用 cURL 或者 sockets,例如 CouchDB。
PHP作为模板语言,用的时候常常和web前端配合得比较紧密,所以web前端的HTML、JavaScript、CSS必须要有所了解。现在很多应用在后端提供数据,把较多的逻辑移到客户端去,所以在这种情况下的数据交互方式,例如XML,json,jsonp等都有必要了解。
PHP常打交道的几个网络协议,HTTP/TCP/IP/DNS我觉得也很有必要有所了解,特别是HTTP。很多时候你还需要了解一些工具的用法,例如版本控制,FTP的使用,或者scp/ssh这样的工具的使用。PHP赖以运行的技术,例如Apache,nginx,IIS,fastCGI等有必要了解一下,比如Apache,nginx,IIS分别是怎样做地址重写的。必须要掌握一种数据库,和PHP配套的比较多的是MySQL,可以考虑这个。对常见的框架例如ThinkPHP,Zend Framework,以及常见开源程序例如wordpress,phpwind等有所了解。
后盾张老师企鹅:1079943010
php中常用的4种运行方式
1、CGI
CGI即通用网关接口(common gatewag interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执 行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。
CGI方式在遇到连接请求(用户 请求)先要创建cgi的子进程,激活一个CGI进程,然后处理请求,处理完后结束这个子进程。这就是fork-and-execute模式。所以用cgi 方式的服务器有多少连接请求就会有多少cgi子进程,子进程反复加载是cgi性能低下的主要原因。都会当用户请求数量非常多时,会大量挤占系统的资源如内 存,CPU时间等,造成效能低下。
2、FastCGI
fast-cgi 是cgi的升级版本,FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一 次。PHP使用PHP-FPM(FastCGI Process Manager),全称PHP FastCGI进程管理器进行管理。
Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)。FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
在上述情况中,你可以想象CGI通常有多慢。每一个Web 请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的 好处是,持续数据库连接(Persistent database connection)可以工作。
3、APACHE2HANDLER
PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出 现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。
4、CLI
cli是php的命令行运行模式。
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。