网站运维人员应该了解的PHP配置文件(php.ini)知识
作为 phpinfo ( ) ; ?> 然后将这个文件上传到你网站的根目录,就可以在浏览器中通过 域名/…
作为
phpinfo
(
)
;
?>
然后将这个文件上传到你网站的根目录,就可以在浏览器中通过 域名/phpinfo.php 访问到这个文件,可以看到输出
phpinfo()
的信息,往下查找以下部分。
找到上图加框的部分
如您所见,有两个部分。第一个是
配置文件(php.ini)路径
,它表示系统中
php.ini
文件的默认路径。第二个是“
加载的配置文件”
,它是运行PHP时从中加载
php.ini
文件的路径。
因此,您可以编辑“
加载的配置文件”
部分中指示的
php.ini
文件,并且该
文件
在大多数情况下应该可以使用。当然,如果您将PHP作为Apache模块运行,则需要重新启动Apache服务器,以确保反映在
php.ini
文件中所做的更改。或者通常需要重启PHP进程来使配置生效。
此外,如果您使用WAMP或XAMPP之类的软件来运行Web开发环境,则修改
php.ini
文件甚至更加容易,您可以通过WAMP或XAMPP UI直接访问它。
在下一节中,我们将探讨
php.ini
文件中的几个重要设置。
php.ini中的
重要设置
在
php.ini的
文件提供了大量的配置指令,让您修改PHP的各种行为。实际上,当您打开
php.ini
文件时,它可能会为它提供的指令数量所淹没。我将尝试根据他们的行为对他们进行分组,希望对您来说很容易理解。
当然,我们不会遍历每一个指令,但是我将尝试介绍最重要的指令。让我们看一下我们将要讨论的指令类型。
错误处理指令
文件上传指令
安全相关指令
会话指令
其他指令
错误处理指令
在本节中,我们将介绍与错误处理有关的指令,这些指令对于开发期间的调试很有用。
display_errors
display_errors
指令使您可以控制脚本执行期间是否在屏幕上显示错误。如果要在屏幕上显示错误,设置为
On
,如果要禁用它,可以将其设置为
Off
。
切勿在生产站点上启用此功能-它会降低站点速度,并可能为黑客提供有关站点安全漏洞信息。
error_reporting
该指令允许您设置错误报告级别。通常,此指令与
display_errors
指令结合使用。这个指令可以接受
E_ALL
,
E_NOTICE
,
E_STRICT
,和
E_DEPRECATED
常量。
如果你想显示所有类型,如致命的错误、警告,你可以将其设置为
E_ALL
,但是我们不建议这样设置!如果你想筛选出特定的错误,你也可以结合不同级别的错误。例如,如果要显示除通知以外的所有错误,可以将其设置为
E_ALL & ~E_NOTICE
。
error_log
在生产网站上,您需要确保PHP不会向客户端浏览器显示任何错误。相反,您可以将错误记录在某处,以便以后在站点出现问题时可以参考这些错误。该
error_log
指令允许您设置将记录错误的文件的名称。您需要确保该文件可被Web服务器用户写入。
文件上传指令
在本节中,我们将看到几个重要的指令,它们使您能够在PHP表单中启用文件上传功能。
file_uploads
这是一个布尔指令,它允许您启用HTTP文件上传。如果将其设置为
On
,则可以使用表单中的文件字段,用户将能够从其计算机上载文件。反之,如果将其设置为
Off
,则将完全禁用文件上传。
upload_max_filesize
如果您在网站上启用了文件上传功能,但是在上传文件时遇到困难,则应首先检查该指令。它允许您设置可以上传的文件的最大大小。
默认情况下,它设置为
2MB
,因此用户不能上传大于2MB的文件。您可以根据需要微调此值,您需要增加此限制以允许上传较大的文件。
post_max_size
此设置使您可以设置表单中POST数据的最大大小。当用户使用POST方法提交表单时,POST数据的总大小不应超过您在此伪指令中设置的值。
此文件应该大于您在
upload_max_filesize
指令中设置的值,因为文件上传是通过POST请求处理的。
安全指令
在本节中,我们将看到一些与安全性相关的重要指令。
allow_url_fopen
allow_url_fopen
指令默认为禁用。但是启用后,它允许将远程文件包含在PHP文件函数中。这意味着您的PHP文件可以包含来自其他服务器的代码。请谨慎启用此功能 ——如果您的代码受到注入攻击,则远程包含文件将使恶意用户更容易劫持您的服务器。
allow_url_include
allow_url_include
指令类似于
allow_url_fopen
指令,但是它允许将远程文件包含在
include
函数中。它允许你使用
include
、
include_once
、
require
和
require_once
函数包括远程文件。
如果要启用此指令,则需要确保也已启用
allow_url_fopen
指令。
会话指令
在使用PHP时,会话管理是最重要的方面之一。在本节中,我们将介绍几个重要的会话指令。
session.name
session.name
指令允许您设置会话cookie的名称。默认情况下,它设置为
PHPSESSID
,但是您可以使用此伪指令将其更改为其他名称。
session.auto_start
如果将
session.auto_start
伪指令的值设置为
1
,则PHP中的会话模块会在每次请求时自动启动会话,因此您不必
session_start
在脚本中使用该函数。
session.cookie_lifetime
session.cookie_lifetime
指令允许您设置会话cookie的生存期。默认情况下,它设置为0秒,这意味着在关闭浏览器时会删除会话cookie。这是一个非常有用的设置,它使您可以设置“记住我”的功能,从而使用户可以选择离开站点的位置。
其他指令
在最后一部分中,我们将看到在PHP脚本执行上下文中很重要的其他两个指令。
memory_limit
memory_limit
指令允许您限制允许脚本使用的最大内存量。
您想根据自己的需求微调此指令,并且不要将其设置得太高以避免服务器上出现内存故障—如果脚本编写不当或错误的脚本会吞噬服务器上的所有内存!
max_execution_time
max_execution_time
指令控制脚本从运行到结束的时间长度。默认值为30秒,您可以根据需要将其增加到合理的限制。
与
memory_limit
指令类似,请勿将其设置得太高以避免服务器出现问题。
max_input_time
max_input_time
指令允许您设置允许脚本解析来自GET或POST的传入表单数据的最长时间。
如果您的网站上有提交大量数据的表单,则可能要增加此指令的值。
宝塔用户须知
如果您采用的是
宝塔面板
,可以在“软件商城”中对应的PHP版本的“设置”面板中找到和编辑php.ini:
在宝塔中编辑php.ini
注意:php.ini 配置文件非常重要,编辑不正确可能会导致PHP无法运行或出错,所以建议编辑前进行备份,以便出问题的时候可以恢复。
其实在宝塔面板中,通常不需要编辑php.ini,而是通过面板的设置选项来修改以上我们介绍的常见指令即可:
可以直接通过PHP的设置选项面板来修改常用指令
小结
不可能在一篇文章中涵盖PHP.ini的每个指令,我们已经尽可能介绍了最重要的几个指令。作为PHP开发人员或网站运维人员,了解
php.ini
文件中的不同指令很重要,这将有助于您根据需要对PHP配置进行微调。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!