WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 生活趣事
    • 生活日记
    • 防骗指南
  • 编程教学
    • API日记
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
    • 严选源码
  • 专题
  • 基友
  • 隐私
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君
首页 技术教程(干货) 运维人员需了解的PHP配置文件(php.ini)知识

运维人员需了解的PHP配置文件(php.ini)知识

夏柔 5月 1, 2020

作为PHP开发人员或网站运维人员,掌握一定的PHP配置知识,会让我们的WordPress网站运行得更加顺畅。在文本中,我们将讨论php.ini — PHP中的主要配置文件。从初学者的角度,我们将讨论它的含义、位置以及它提供的几个重要设置选项。

什么是php.ini?

无论您是PHP初学者还是经验丰富的开发人员,我都可以肯定您已经听说过php.ini:它是最重要的PHP配置文件。

运行PHP时,它将在某些特定位置查找php.ini文件并将其加载。该文件使您可以配置一些重要的参数设置。一般来说,您不需要修改php.ini。PHP可以使用默认的php.ini文件中提供的设置来正常运行  ,因为PHP附带了这些默认的建议设置。也就是说,没有必需的关键配置参数即可运行PHP。

但是,php.ini文件提供了一些您根据实际需要可以自定义修改的设置选项。实际上,作为PHP开发人员,这是不可避免的,您迟早会需要自定义这些参数。

php.ini在哪里?

在本节中,我们将看到如何查找运行PHP脚本时加载的php.ini文件。这可能很棘手-php.ini文件的位置因运行PHP的环境而异。如果您正在运行Windows,则可能会在系统驱动器中的PHP安装目录中找到php.ini文件。但是,如果您正在运行其他操作系统,则很难猜测php.ini文件的确切位置。

这个时候,我们可以借助phpinfo() 函数来找到php.ini的位置,并且还将输出所有重要的PHP配置信息。

您可创建一个名为phpinfo.php的文件,然后在文件中添加以下代码:

<?php phpinfo();?>

然后将这个文件上传到你网站的根目录,就可以在浏览器中通过 域名/phpinfo.php 访问到这个文件,可以看到输出phpinfo()的信息,往下查找以下部分。

运维人员需了解的PHP配置文件(php.ini)知识-WordPress极简博客
找到上图加框的部分

如您所见,有两个部分。第一个是配置文件(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配置文件(php.ini)知识-WordPress极简博客
在宝塔中编辑php.ini

注意:php.ini 配置文件非常重要,编辑不正确可能会导致PHP无法运行或出错,所以建议编辑前进行备份,以便出问题的时候可以恢复。

其实在宝塔面板中,通常不需要编辑php.ini,而是通过面板的设置选项来修改以上我们介绍的常见指令即可:

运维人员需了解的PHP配置文件(php.ini)知识-WordPress极简博客
可以直接通过PHP的设置选项面板来修改常用指令

小结

不可能在一篇文章中涵盖PHP.ini的每个指令,我们已经尽可能介绍了最重要的几个指令。作为PHP开发人员或网站运维人员,了解php.ini文件中的不同指令很重要,这将有助于您根据需要对PHP配置进行微调。

#php.ini#php命令#运维
0
J2dcg1.png
猜你喜欢
  • Nginx添加跨域限制规则
  • 使用测速脚本对国内Linux服务器进行测速
  • 域名爆破之自动化信息收集脚本
  • 利用免费接口实现国家开放大学刷网课脚本
  • RiProV2定制导航条
  • 判断是否在微信浏览器打开
  • 微信内自动播放音频非百度方案
  • 利用veImageX加速您的网站,想不快都难!
  • SWAPIDC减少注册信息及防刷注册量教学
  • Python实现定时发送每日早报及生活指数
10 3月, 2025
03月10日,星期一, 每天60秒读懂世界!
夏柔
站长
夏山如碧 - 怀柔天下
1693
文章
25
评论
58145K
获赞
版权声明

文章采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议,与本站观点无关。

如果您认为本文侵犯了您的版权信息,请与我们联系修正或删除。
投诉邮箱wpsite@aliyun.com

栏目推荐
Python基础入门33
WordPress技术教程267
前沿技术情报所22
城市创新——新消费11
最近有哪些不可错过的热文23
程序员的养生之道0
节
春
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2025 WordPress极简博客. Designed by 夏柔. 辽公网安备21010502000474号 辽ICP备19017037号-2