Heim  >  Artikel  >  Backend-Entwicklung  >  PHP.INI配置文件漫游_PHP

PHP.INI配置文件漫游_PHP

WBOY
WBOYOriginal
2016-06-01 12:25:31874Durchsuche

   PHP配置文件

  在开始浏览PHP配置文件之前,值得注意的是PHP配置文件的内部结构化。这个文件叫php.ini,它和许多Windows应用程序中广泛使用的INI文件具有相同的结构。php.ini是一个ASCLL文本文件,其分为多个部分,每一部分包括相关的参数,如下所示:

  [MySection]
variable="value"
anothervariable="anothervalue

  每一部分的名称位于最前面的方括号内,接着是名称对数字,每一名称对占单独一行。因为用规则PHP代码,参数名称非常敏感,不能包含有空格.但是参数值可以是数字,字符串或者布尔逻辑数。

  分号位于每一行的开始,其作为指定标记。这就使它很容易使用或者不使用PHP的这些特性;而无需通过删除该行而实现.你可以对其进行注解,由此该行不会编译。如果你想在以后数据库中再次使用这一特性,这是非常方便,你不需要将其从文件中删除。

  为了获得PHP的识别,php.ini文件必须放置在当前目录下,而这一目录是在$PHPRC环境参数中定义,或者是在编译时间内指定的目录(对于Windows PHP,就是首要Windows目录)。

  通过php.ini文件对PHP格式做出改变之后,你将需要重新启动Web服务器,以便你的改变生效(当然,这是假定你正在通过Web服务器使用PHP的情况)。对于使用PHP的命令行情况,每调入一个PHP二进制程序,配置文件就会被读入一次。

  设置解析器选项

  在这一过程中,第一步是最为重要的一步,即与语言解释程序相关的选项。这里首要选项为引擎参数,其控制PHP服务器为“On”或者为“Off”。关闭服务器表示嵌入的PHP代码不会被Web服务器解析。然而通常将服务器保持“On”状态。

  engine = On

  short_open_tag参数控制语法分析器是否识别快捷键...?>,类似于识别标准键。如果这一参数与其它语言发生冲突,或者如果你想在PHP代码中使用严格语法规则,就关闭该参数。

  short_open_tag = On

  通常情况下,在任何由程序产生输出之前,Cookie或者HTTP数据必须被发送。如果在程序中无法实现这些,你可以通过使用输出缓冲器(output_buffering)参数,使PHP调用输出缓冲器生效。

  通过输出缓冲器为“On”状态,PHP将程序输出存储在一个专门的记忆缓冲器,且在明确指定发送的时间段发送。这就允许你在编写程序过程或者是快要结束的时候,发送特殊的HIIP标题和重要数据,但是,它也会下降一些重要的功能。

  output_buffering = Off

  

  你也可以通过output_buffering参数值指明缓冲器大小,例如:

  output_buffering = 2048

  

  当PHP启动时,它添加一条有关版本号的信息到Web服务器的标准标题框。为了关闭这一特性,可以设定expose_php为false。这是非常有用,例如,你可以防止黑客而把你的网页服务器容量隐藏起来。

  expose_php = On

  

  现在让我们来看看怎样设置搜索路径和捕捉错误。

  设置PHP搜索路径

  你可以使用include_path参数设置PHP的搜索路径,这一参数可以接收系列的目录。当PHP遇到没有路径的文件提示时,它将会自动检测这些目录。

  如果你频繁使用函数库或者类时,可以列出它们当前位置以简化文件的查找。这也是增加路径到PHP的PEAR目录的一个好方法,PEAR目录中包含许多可以重复使用的类。

  include_path = ".:/usr/local/lib/php/pear:"

  

  Window用户可以通过分号指定多个位置,而UNIX用户必须用冒号隔开。

  对于这一小节内容,最好的两个参数是auto_prepend_file和auto_append_file。这些参数指定了一些文件,而这些文件在PHP启动和结束时自动设置数据文件的搜索路径。这一特性大多数用于设置PHP运行中页面的标题和页角的搜索路径,这就使得你可以在编写的每个PHP文件中省去几行代码。但是不足的是,指定的文件将会被添加*all* PHP文档,因此,这些参数最适合于单一程序的服务器。

  这些文件既可以是PHP程序,也可以是HTML文件。嵌入的PHP代码必须用标准的

  auto_prepend_file = /home/web/includes/header.php
auto_append_file = /home/web/includes/legal.php

  

  捕捉错误

  PHP错误分成四类:分析错误,代码错误通知(比如没有初始化的参数),警告(不是很严重的错误),以及严重错误。一般来说,PHP遇到分析错误,或者一般错误,或者是一个非常致命的错误,它就显示错误。如果错误非常严重,它就有可能停止程序处理。你可以用error_reporting参数改变这一特性,此参数可以识别一些错误代码,而且可以显示对应错误的程序代码。

  error_reporting = E_ALL

  

  为了关闭错误的显示,可以设置display_errors参数为false。相反,设置log_errors参数可以将错误信息写入错误日志。

  从安全角度出发,关闭错误显示是有好处的。隐藏系统的详细信息,别有用意的用户就不能打开和毁坏你的网页或者程序。你应该把这些错误通过设置error_log参数指定一个文件名,写在一个自定义日志文件中,或者通过指定特定参数“syslog”,把错误写入系统记录中。请记住,你应该有规律性的检查这些日志文件,以查看日志文件发生的变化。

  display_errors = Off
log_errors = On
error_log = "error.log"

  

  在这篇文章的第二部分,我将会更进一步谈到php.ini文件,讨论诸如以下的设置,包括:文件上传,表格解析,以受限模式运行PHP以获得更好的安全性,激发可扩展功能,设置资源的内存使用,以及使一些特性无效化以提高性能。

  文章第一部分已经带领你领略了php.ini文件的结构,并且说明了如何修改PHP查找路径、差错处理,以及解析器的相关选项。第二部分将深入配置文件,内容包括如何激活PHP扩展选项、针对PHP脚本设置资源限制,以及通过PHP脚本动态改变配置变量。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn