WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 数码解说
    • 生活趣事
    • 生活日记
  • 全球科技
    • 新浪博客
    • A5资讯
    • 环球网新闻
  • 编程教学
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
  • 专题
  • 基友
  • 隐私
  • 云优化
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君

运维人员需了解的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
分享
夏柔 站长
文章 709评论 23
赞赏
夏柔
相关文章
  • 自定义onion域名
  • 宝塔linux面板一键工具箱
  • 7种提高代码阅读能力的方法
  • 保护你的WordPress,修改服务器默认用户名root
  • Python多线程扫描端口
  • ThnBo-一款针对WordPress开发的缩略图美化插件,为广大站长提供缩略图的美化便利
  • WordPress去除index.php的方法
  • WordPress美化-文字渐变特效
  • WordPress美化-抖动图片
  • 使用HBuilderX封装H5
29 5月, 2020
安徽省高级人民法院原院长张坚接受中央纪委国家监委纪律审查和监察调查
夏柔
站长
夏山如碧 - 怀柔天下
709文章
23评论
58144K获赞
版权声明

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

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

栏目推荐
Python基础入门30
WordPress技术教程265
前沿技术情报所7
城市创新——新消费8
最近有哪些不可错过的热文5
程序员的养生之道0
疫情实况
英国变异新冠病毒或致更高死亡率
1月 23, 2021
31省新增确诊107例 本土90例
1月 23, 2021
拜登公布战时抗疫计划
1月 22, 2021
更多
每日快讯
警方调查西藏冒险王网传视频
1月 23, 2021
北京新增3例本土确诊 均在大兴
1月 23, 2021
英国变异新冠病毒或致更高死亡率
1月 23, 2021
云南昭通市盐津县发生4.7级地震
1月 23, 2021
外媒:特朗普弹劾案审讯2月8日开始
1月 23, 2021
31省新增确诊107例 本土90例
1月 23, 2021
美共和党议员提交弹劾拜登条款
1月 22, 2021
江苏镇江一人核酸检测结果可疑
1月 22, 2021
更多
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2021 WordPress极简博客. Designed by 骚老板. 辽公网安备21010502000474号