温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何解析PHP及配置文件

发布时间:2021-11-22 19:11:56 来源:亿速云 阅读:237 作者:柒染 栏目:编程语言

这篇文章将为大家详细讲解有关如何解析PHP及配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

PHP是什么

PHP是Hypertext Preprocessor超文本预处理器的缩写,是一种广泛使用的服务器端编程语言,用于开发动态网页,是目前动态网页开发中使用最为广泛的语言之一。

简单的说,PHP是一种Web服务器端开发语言,用于快速进行动态网页开发。

其特点包括:

(1)开源、跨平台、独立于架构;

(2)解释型、面向对象、数据库支持;

(3)快速、简单易学、健壮、安全、性能优越。

类似的开发语言有ASP、JSP。

PHP与ASP、JSP语言以其优异的性能、强大的数据库操作功能迅速成为主流的Web服务器端开发语言。

PHP+Apache+MySQL的组合(三者都是开源的)是一个完全免费、性能优异的Web服务器应用开发组合,已成为绝大多数中小型网站的应用解决方案。

早期的Web应用服务器端程序是用Perl或C语言直接编写CGI(common Gateway Interface,公共网关接口)程序,或者利用Web服务器自带的API,或者采用第三方解决方案,这些方法均有各自的强项,但在运行速度、数据库操作方面均不能满足Web应用不断增长的需求。

PHP主要用于以下3个应用领域:

(1)服务器端脚本程序

(2)命令行脚本程序

(3)桌面应用程序

使用PHP编写服务器端脚本程序是PHP 最常用的应用领域。

PHP程序的工作流程

(下图来自网络)                             
如何解析PHP及配置文件

Web服务器:一般选择开源的Apache或Nginx

数据库:一般选择开源的MySQL

PHP解释器:PHP软件包

常见的是部署在Linux和Windows平台。

有对应的集成安装包,如Windows平台的WAMP,Linux平台的LAMP、LNMP。


PHP配置文件解析

PHP配置文件php.ini在PHP启动时被读取。

对于作为Web服务器模块版本的PHP,仅在Web服务器启动时读取一次。

Windows环境下php.ini的搜索路径如下(按顺序):

(1)Apache配置文件httpd.conf中PHPIniDir指定的路径

(2)HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath  (即Windows注册表位置)

(3)PHPRC环境变量

(4)Web服务器目录或者PHP所在目录(Windows下其它情况)

(5)Windows目录(c:\windows或c:\winnt)

可以通过info.php的输出页面中Loaded Configuration File项的值来判断服务器当前读取的PHP配置文件是哪一个。如下图所示:             

 如何解析PHP及配置文件

需要关注的参数:

extension_dir

PHP搜索扩展库的位置。PHP扩展库一般放在PHP目录下面的ext文件夹内,是一组.DLL动态链接库文件。

short_open_tag(Boolean)

决定是否允许使用PHP代码中开始标志的缩写形式()。

如果要和XML结合使用,可以禁用此选项以便于嵌入使用。

不禁用的话可以通过PHP来输出,例如:<!--?php echo '。

如果禁用了,必须使用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及配置文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI