本文将详细解释如何解析PHP和配置文件。这篇文章的内容质量很高,所以边肖会分享给大家参考。希望你看完这篇文章后有所了解。
PHP是什么
PHP是超文本。
处理器的缩写超文本预处理器是一种广泛用于开发动态网页的服务器端编程语言,是动态网页开发中使用最广泛的语言之一。
简单来说,PHP是一种Web服务器端开发语言,用于快速开发动态网页。
其特点包括:
(1)开源、跨平台、独立于架构;
(2)解释性、面向对象和数据库支持;
(3)快速、易学、健壮、安全、性能优越。
类似的开发语言有ASP和JSP。
PHP、ASP和JSP语言凭借其优异的性能和强大的数据库操作功能,迅速成为主流的Web服务器端开发语言。
PHP Apache MySQL(均为开源)的组合是一个完全免费且优秀的Web服务器应用开发组合,已经成为大多数中小网站的应用解决方案。
早期的Web应用服务器端程序是直接用Perl或C语言编写的CGI(通用网关接口)程序,或者使用Web服务器的原生API,或者采用第三方解决方案。这些方法各有千秋,但在运行速度和数据库操作方面都不能满足Web应用程序日益增长的需求。
PHP主要用于以下三个应用领域:
(1)服务器端脚本程序
(2)命令行脚本程序
(3)桌面应用程序
用PHP编写服务器端脚本是PHP最常见的应用领域。
PHP程序的工作流程
(下图来自网络)
Web服务器:一般选择开源的Apache或者Nginx。
数据库:一般选择开源MySQL。
PHP解释器:PHP包
它通常部署在Linux和Windows平台上。
有相应的集成安装包,如Windows平台的WAMP,Linux平台的LAMP和LNMP。
PHP配置文件解析
PHP配置文件php.ini在PHP启动时被读取。
对于PHP,它是Web服务器模块的版本,在Web服务器启动时只读取一次。
Windows环境下php.ini的搜索路径如下(按顺序):
(PHPIniDir在1)Apache配置文件httpd.conf中指定的路径
(2) HKEY _本地_机器\软件\ PHP \ inifilepath(即Windows注册表位置)
(3)PHPRC环境变量
(4)Web服务器目录或PHP目录(Windows下的其他情况)
(5)Windows目录(c:\windows或c:\winnt)
您可以通过info.php输出页面中加载的配置文件项的值来判断服务器当前正在读取哪个PHP配置文件。如下图所示:
需要关注的参数:
extension_dir
搜索PHP扩展库的位置。PHP扩展库通常放在PHP目录下的ext文件夹中,它是一组。动态链接库文件。
short_open_tag(Boolean)
确定PHP代码中是否允许起始标志()的缩写。
如果您想将它与XML结合使用,您可以为嵌入式使用禁用此选项。
如果没办法,可以通过PHP输出,比如:- ?php回声' .
如果禁用,必须使用PHP代码开始标志的完整性。
形式()。
注意:此参数也会影响到缩写形式<!--?=,它和<?
echo等价。使用此缩写需要short_open_tag的值为on。
memory_limit(integer)
这个参数设定了一个脚本所能够申请到的最大内存字节数。这有助于防止写得不好的脚本消耗光服务器上的可用内存。要使用此参数必须在编译的时候激活(如果是源码编译安装的话,即在configure一行中应该加上参数:--enable-memory-limit)。如果不需要任何内存上的限制,必须设置次参数值为-1。
自PHP4.3.2版起,当激活了memory_limit,PHP函数memory_get_usage()便可以使用了。当使用integer类型时,其值以字节为度量单位。
track_vars(boolean)
如果激活,则环境变量GET、POST、Cookie和Server都能够分别在全局关联数组中找到:
$_ENV、$_GET、$_POST、$_COOKIE和$_SERVER
注意:自PHP4.0.3版起,track_vars总是打开的。
arg_separator.output(string)
表示PHP所产生的URL中用来分隔参数的分隔符。
arg_separator.input(string)
表示PHP用来将URL解析为变量的分隔符列表(注意:这里的每个字符都会被当成分隔符!)
variables_order(string)
设定EGPCS(Environment、GET、POST、Cookie、Server)变量解析的顺序,默认设定为“EGPCS”。
如果设置为“GP”,会导致PHP完全忽略环境变量(ENV)、Cookie和Server变量,并用GET方法的变量覆盖POST方法的同名变量。
auto_globals_jit(boolean)
启用后,SERVER和ENV变量在它们第一次使用后便被创建,而不是等到脚本开始运行时。
如果这些变量没有在脚本中使用,启用这个参数会提高服务器性能。
注意:要使此选项有效,PHP配置选项register_globals、register_long_arrays和register_argc_argv必须禁用。
register_long_arrays(boolean)
设定PHP是否注册过时的$HTTP_*_VARS之类的预定义变量。
默认为on(启用),此时类似$HTTP_GET_VARS的PHP变量会被注册。
如果不使用,为性能考虑建议关闭此选项,而使用超全局数组例如$_GET替代。
此参数自PHP5.0.0版本起可用。
post_max_size(integer)
设定POST数据所允许的最大大小。字节为单位。
此设定也影响到文件上传。要上传大文件,此参数的值必须大于upload_max_filesize。
如果配置脚本中激活了内存限制memory_limit,也会影响文件上传。
通常memory_limit应该比post_max_size要大。
如果POST数据尺寸大于post_max_size,$_POST和$_FILES superglobals便会为空。
gpc_order(string)
设定GET/POST/COOKIE三个变量解析的顺序,默认为“GPC”。
如果设置为“GP”,会导致PHP完全忽略Cookie变量,并用GET方法的变量覆盖POST方法的同名变量。
注意:本选项不能用与PHP4中,可用variables_order替代之。
include_path(string)
指定一组目录用于require()、include()和fopen_with_path()函数来寻找文件。格式和系统的PATH环境变量类似:一族目录的列表。
注意:目录列表在Linux/Unix系统下用冒号:分隔,在Windows系统下用分号;分隔。
doc_root(string)
PHP在服务器上的根目录。仅在非空是使用。
如果PHP被配置为安全模式,则此目录之外的文件一概不解析。
如果PHP编译时没有指定FORCE_REDIRECT,并且在任何Web服务器(除了IIS)中以CGI方式运行PHP,则应该设定doc_root。另一种替代方案是使用cgi.force_redirect配置选项。
user_dir(string)
在用户目录之下使用PHP文件的基本目录名,例如public_html。
extension_dir(string)
PHP用来寻找动态链接扩展库的目录。
enable_dl(boolean)
此选项只有在PHP作为Apache模块方式运行的时候才是有用的。
设置为on时,可以在PHP脚本运行的过程中通过PHP內建函数dl()来动态加载PHP扩展库。
这个配置选项对安全性有一定的影响,所以在安全模式下,是不能使用dl()函数的。
extension(string)
当PHP启动时所加载的动态链接扩展库。
file_uploads(boolean)
是否允许HTTP文件上传。
upload_tmp_dir(string)
文件上传时存放文件的临时目录。必须是PHP进程所有者用户可写的目录。如果未指定则使用系统默认值。
upload_max_filesize(integer)
所上传文件的最大大小。字节为单位。
关于如何解析PHP及配置文件就分享到这里了,希望
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112485.html