标签: php

  • 如何升级WordPress服务器PHP版本

    为WordPress网站升级至最新的PHP版本可提高性能和网站速度。但是,有时您的网站托管公司可能使用旧版本的PHP。

    在本教程中,我们将介绍如何更新WordPress网站的PHP版本。

    如何升级WordPress服务器PHP版本-1

    为什么要更新WordPress网站的PHP版本

    WordPress 是使用一种名为PHP的开源编程语言开发的。在撰写本文时,WordPress至少需要PHP 7.4或更高版本。当前可用于PHP的稳定版本是8.0.8。

    大多数WordPress托管公司使用PHP 7.4或更高版本来满足最低WordPress要求。

    每个PHP版本都通过更有效地运行进程和减少内存使用来提高性能。这会通过加快速度并减少服务器负载来影响您的WordPress网站速度

    通常,WordPress主机会在后台自动更新PHP版本。这些更新对大多数网站没有影响,您可能根本不会注意到任何变化。

    有时,您的WordPress网站上的插件可能会由于与较新的 PHP 版本不兼容而出现异常。在这种情况下,一些网站所有者可能希望切换回旧的PHP版本,直到插件更新解决该问题。

    如何查看WordPress服务器当前PHP版本?

    在WordPress仪表盘可以轻松查看托管服务提供商使用的PHP版本。

    只需登录到您的WordPress网站的管理后台,然后转到工具»站点健康页面并切换到“信息”选项卡。

    如何升级WordPress服务器PHP版本-2

    接下来,您需要向下滚动一点并单击以展开“服务器”选项卡。此部分显示服务器信息,包括您的服务器使用的PHP版本。

    如何升级WordPress服务器PHP版本-3

    如您所见,在上面的屏幕截图中,我们的演示网站使用的是PHP版本 7.4.21。

    更新WordPress网站上的PHP版本

    所有顶 WordPress托管公司都允许更改网站使用的PHP版本(如果属于自主管理的VPS服务器,比如使用宝塔或者LNMP,更换PHP版本也是很简单的)。下面向您展示一些来自顶级托管服务提供商的示例及LNMP、宝塔的PHP版本升级或者更换。

    1. LNMP服务器PHP版本升级

    升级PHP前,请确认你的网站程序是否支持升级到的PHP版本,防止升级到网站程序不兼容的PHP版本,具体可以去你使用的PHP程序的官网查询相关版本支持信息。v1.3及以后版本大部分情况下也可以进行降级操作。

    登入服务器SSH,进入LNMP安装目录执行:

    ./upgrade.sh php
    ./upgrade.sh php
    ./upgrade.sh php

    到http://www.php.net/downloads.php 获取版本号,输入版本号,如7.2.6 回车,再次回车确认即可开始升级。

    如何升级WordPress服务器PHP版本插图3

    如需要编译其他参数可以,lnmp 1.3及以后版本版可以修改lnmp.conf配置文件里的PHP_Modules_Options参数的引号里加其他需要的参数。

    lnmp 1.2版修改include/upgrade_php.sh文件

    PHP_Modules_Arguments=""参数的双引号里添加需要的其他模块,多个模块参数空格隔开,然后再运行升级即可。

    升级完PHP如果phpmyadmin可能会无法使用,需要升级phpmyadmin至对于php和mysql版本的phpmyadmin版本。

    如果升级失败可下载并压缩 /root/upgrade_lnmp_php日期.log 日志去https://bbs.vpser.net 论坛进行反馈。

    如果要恢复原PHP,将 /usr/local/ 下 oldphp日志 的目录重命名为 php 并,将/usr/local/oldphp日期/init.d.php-fpm.bak.日期 的文件拷贝到/etc/init.d/ 目录下重命名为 php-fpm 即可恢复。

    2. 通过宝塔控制面板更换PHP版本

    现在 WordPress 站点一般都要求最低的PHP版本是5.6,建议7.0以上,那么安装有宝塔 Linux 面板的站长如何实现一键切换网站的PHP版本呢?

    首先,登录宝塔 Web 面板 >> 软件商店 >> 运行环境 >> 安装想要切换的PHP版本,如原先安装有PHP7.1,想要切换到PHP7.2,那么就直接点击PHP7.2右侧对应的“安装”按钮,稍等片刻即可成功安装。具体如下图所示:

    如何升级WordPress服务器PHP版本-4

    然后,点击左侧菜单“网站”>> 点击相应网站右侧的“设置”按钮 >> 点击左侧的“PHP 版本”>> 在 PHP 版本下拉选项中选择 PHP-72 >> 点击【切换】按钮,稍等片刻即可成功切换 PHP 版本。具体如下图所示:

    如何升级WordPress服务器PHP版本-5

    宝塔Linux面板允许同时安装和运行多个 PHP 版本,这样可以让不同的网站使用不同的PHP 版本。不过还是建议大家尽量只运行一个PHP版本会更好,毕竟多个PHP版本同时运行会占用资源。

    建议切换到最新版本之后,不用的PHP版本可以点击“设置”>> 点击【停止】按钮让其停止运行,或者直接点击“卸载”按钮卸载它,有需要时再安装也行。

    3. 更换Bluehost服务器的PHP版本

    首先,您需要登录您的Bluehost托管帐户仪表盘,然后单击左栏中的“Advanced”选项卡。

    如何升级WordPress服务器PHP版本-1

    这会将您带到高级工具页面来管理您的主机帐户。从这里您需要单击MultiPHP Manager图标。

    在下一页上,您需要选择您的网站,然后选择要使用的PHP版本。

    如何升级WordPress服务器PHP版本-7

    单击“Apply”按钮以保存更改。

    Bluehost现在将开始使用您为网站选择的PHP版本。

    4. 更改SiteGround服务器PHP版本

    如果您使用SiteGround托管,那么这里是您更新WordPress网站的PHP版本的方法。

    首先,您需要登录到您的SiteGround帐户仪表盘。之后,您需要切换到“Websites”页面,然后单击您网站旁边的“Site Tools”按钮。

    如何升级WordPress服务器PHP版本-8

    接下来,您需要从左栏中转到DEVS » PHP Manager。从这里您可以选择使用SiteGround的Ultrafast PHP或Standard PHP。您还可以通过单击“Edit”图标来更改PHP版本号。

    如何升级WordPress服务器PHP版本-9

    这将弹出一个弹出窗口,您首先需要在“Set PHP Version”选项下选择“Change PHP version manually”。

    如何升级WordPress服务器PHP版本-10

    After that, you would be able to select your PHP version from a drop down menu. Don’t forget to click on the Confirm button to apply your changes.

    之后,您将能够从下拉菜单中选择您的PHP版本。不要忘记单击“Confirm”按钮以应用您的更改。

    5. 更换HostGator服务器的PHP版本

    首先,您需要登录您的HostGator托管帐户仪表盘,然后单击“Hosting”部分。从这里您需要单击您的主机帐户下的cPanel链接。

    如何升级WordPress服务器PHP版本-11

    这将启动cPanel仪表板,您可以在其中管理主机帐户的高级设置。您需要向下滚动到Software部分并单击MultiPHP Manager图标。

    如何升级WordPress服务器PHP版本-12

    接下来,您需要选择您的域名,然后选择PHP版本。不要忘记单击“Apply”按钮以保存您的设置。

    6. 更换WP Engine服务器PHP版本

    WP Engine是一家WordPress网站托管公司,这意味着他们会自动为您升级PHP版本。但是,您也可以手动升级和降级网站的PHP版本。

    只需登录您的WP Engine仪表盘,然后单击您网站旁边的PHP版本号。

    如何升级WordPress服务器PHP版本-13

    这将弹出一个弹出窗口,您可以在其中选择降级或升级WordPress网站的PHP版本。

    如何升级WordPress服务器PHP版本-2

    不要忘记单击“Change PHP Version”按钮以保存更改。

    7. 更换其他WordPress托管服务器环境的PHP版本

    大多数WordPress托管公司使用类似的托管仪表盘和一些自定义。通常,您会在cPanel仪表盘中找到MultiPHP Manager图标。

    如果您找不到它,那么您可以联系WordPress托管服务提供商并要求他们更改您网站的PHP版本。

    更换网站PHP版本后要做的事情

    为您的WordPress 网站更新PHP版本后,您可能需要确保一切正常。

    我们建议您访问您的网站,看看是否有任何明显的问题。

    然后,您可以登录到WordPress管理后台,确保您的网站使用的是最新版本的WordPress,并且您的所有插件和WordPress主题都已更新。

    最后,建议在对PHP版本升级或降级前对WordPress网站进行完整备份

    如果PHP更新导致WordPress网站出问题,该怎么办?

    PHP更新导致的WordPress网站异常的可能性很小。然而,随着免费和付费插件的增多,一行糟糕的代码就有可能导致错误。

    您需要做的第一件事是确保它不是导致此错误的插件或主题。为此,请停用所有WordPress插件并切换到默认的WordPress主题。

    如果这不能解决您的问题,请联系您的网络托管服务商的支持团队。您面临的问题很可能已经在他们的通知中,他们将能够为您提供帮助。

    如果您的虚拟主机无法帮助您,那么您可以使用上述方法降级您的PHP版本。

    我们希望本教程能帮助您了解如何更新WordPress网站的PHP版本。

  • 如何创建和使用phpinfo页面

    如何创建和使用phpinfo页面

    PHP是WordPress用户的重要编码语言。即使您不是开发人员,为了维护您的网站,您可能仍然需要了解一点。但是,如果您不知道去哪里查找,那么即使是为您的WordPress安装找到最基本的PHP信息也可能会很棘手。

    幸运的是,如果您愿意花几分钟的时间来设置它,您可以创建一个页面,您可以在其中找到您需要的所有PHP信息。更好的是,它只需要一行代码就可以做到这一点。

    在这篇文章中,我们将向您介绍phpinfo()函数并解释为什么它可能对您有用。然后我们将向您展示如何使用它为您的WordPress站点创建一个phpinfo页面。

    1. phpinfo() 函数简介
    2. 如何创建一个phpinfo页面

    phpinfo()函数简介

    phpinfo()是一个PHP函数 或一段代码,它接受一个或多个参数并返回一个值。运行phpinfo()将显示有关您站点的PHP配置的信息,包括:

    • 您的站点正在运行的PHP版本。
    • 您的服务器信息和环境。
    • PHP环境。
    • 您的操作系统 (OS) 版本信息。
    • 路径,包括php.ini的位置。
    • PHP配置选项的主值和本地值。
    • HTTP标头。
    • PHP许可证。
    • 当前使用的模块和扩展。

    单独使用该函数将返回所有可用信息。但是,您也可以使用一些参数,以便仅访问您想要查看的特定信息。这些包括:

    • INFO_GENERAL显示配置行、Web服务器、操作系统等。
    • INFO_CREDITS显示PHP开发人员、模块等的列表。
    • INFO_CONFIGURATION返回当前的本地和主指令。
    • INFO_MODULES共享所有扩展及其设置。
    • INFO_ENVIRONMENT包括所有环境变量信息。
    • INFO_VARIABLES显示来自Environment、GET、POST、Cookie、Server (EGPCS)的所有预定义变量
    • INFO_LICENSE显示PHP许可证。
    • INFO_ALL返回所有可用信息(您可以通过不使用参数来完成相同的事情)。

    使用phpinfo()函数的一种方法是创建一个phpinfo页面,我们将在本文后面介绍。但是,重要的是要注意,您可以找到上面的一些信息,而不会遇到使用该功能的额外麻烦。

    例如,5.2 及更高版本中包含的WordPress站点健康功能可以共享有关您的Web服务器、PHP 版本、内存限制等的详细信息。只需导航到“工具”>“站点健康”>“信息”>“服务器”即可找到此数据:

    站点健康功能

    站点健康功能

    phpinfo()不是检查这些信息,而是更适合帮助您进行调试尝试。通过此功能提供的 EGPCS 数据在这方面特别有用。

    建议阅读:如何提高WordPress中的PHP内存限制

    如何创建一个phpinfo页面

    如果您对文件传输协议 (FTP)以及如何使用FTP客户端有基本的了解,那么创建phpinfo页面确实非常简单。在以下部分中,我们将其分解为三个简短的步骤。

    第 1 步:创建一个phpinfo.php文件并将其上传到您的服务器

    要开始创建此页面,请打开您首选的文本编辑器。在新文档中,添加以下代码行:

    <?php
    phpinfo( );
    ?>
    <?php
    phpinfo( );
    ?>
    <?php 
    phpinfo( ); 
    ?>

    如果您希望使用上述参数之一,则应将其插入此处的括号之间。然后,将文件另存为“phpinfo.php”。如果您愿意,可以使用不同的名称(我们将在第 3 步中解释您为什么要这样做),但您必须使用 .php 扩展名。

    接下来,打开FileZilla或其他FTP客户端,并使用您的FTP凭据连接到您站点的服务器。然后,将新的phpinfo.php文件上传到public_html文件夹:

    添加phpinfo.php文件

    添加phpinfo.php文件

    您现在已成功将phpinfo页面添加到您的站点。但是,为了查看该页面,您需要知道在哪里可以找到它。

    第 2 步:在浏览器中访问phpinfo页面

    一旦它上传到您的服务器,您的phpinfo页面将变为公开可用。这意味着您(和其他任何人)可以通过将/phpinfo.php附加到您网站域的末尾来在浏览器中查看它:

    添加phpinfo.php文件

    phpinfo页面的样子

    如果您没有使用任何参数并选择返回所有PHP信息,则此页面可能会很长。您可以使用计算机上的查找功能(CTRL或CMD + F)找到您要查找的特定详细信息:

    查找函数示例

    查找函数示例

    您现在可以使用此信息执行任何必要的调试或其他任务。

    第 3 步:删除或重命名您的phpinfo页面

    正如我们在第2步中提到的,因为您的phpinfo.php文件被放置在您的public_html文件夹中,所以它现在是公开可用的。问题在于phpinfo()函数返回的某些信息是敏感的,可能会帮助恶意黑客访问您的服务器。

    攻击者甚至可能使用机器人来搜索phpinfo页面以利用它们。出于这个原因,一旦你用完你的,最好删除它。您可以通过返回到您的FTP客户端来执行此操作。

    然后,再次连接到您的服务器并打开public_html。右键单击您的phpinfo.php文件并选择Delete

    删除phpinfo.php文件

    删除phpinfo.php文件

    或者,一些用户选择重命名他们的phpinfo页面以帮助隐藏黑客。例如,您可以使用随机的字母和数字字符串来代替“phpinfo”。请注意,这也会更改您用于访问phpinfo页面的 URL。

    这意味着您需要记住分配给phpinfo页面的名称,以便您可以随时访问它。但是,这不是防止安全漏洞的有保证的解决方案,因此最好在需要时简单地创建页面,然后将其删除。

    小结

    phpinfo()函数的功能可提供用于调试你的网站有价值的信息。使用它的一个简单方法是创建一个phpinfo页面,这样您就可以在浏览器中轻松查看所有PHP信息。

    只需三个简单的步骤即可安全地创建和使用此页面:

    1. 创建您的phpinfo.php文件并通过FTP将其上传到您的服务器。
    2. 通过浏览器访问您的phpinfo页面。
    3. 使用完毕后删除或重命名您的phpinfo页面。
  • 跨版本PHP代码转换终极教程

    跨版本PHP代码转换的终极指南

    在理想情况下,我们应该为我们的所有网站使用PHP8.0(撰写本文时的最新版本),并在新版本发布后立即进行更新。但是,开发人员通常需要使用以前的PHP版本,例如为WordPress创建公共插件或使用妨碍升级Web服务器环境的遗留代码时。

    在这种情况下,我们可能会放弃使用最新PHP代码的希望。但是还有一个更好的选择:我们仍然可以使用PHP8.0编写源代码,并将其转换到以前的PHP版本,甚至是PHP7.1。

    在本指南中,我们将教您有关转换PHP代码的所有知识。

    1. 什么是Transpiling?
    2. Transpiling PHP的优势
    3. PHP转换器(PHP Transpilers)
    4. 转换到哪一个PHP版本
    5. Transpiling vs Backporting
    6. Transpiled PHP示例
    7. 转换PHP的利弊
    8. 如何转换PHP
    9. 优化转换过程
    10. 转换代码时要避免的坑
    11. 转换和连续集成
    12. 测试转换代码

    什么是Transpiling?

    Transpiling将源代码从编程语言转换为相同或不同编程语言的等效源代码。

    Transpiling并不是Web开发中的一个新概念:客户端开发人员很可能熟悉Babel,JavaScript代码的转换器。

    Babel将现代ECMAScript 2015+版本中的JavaScript代码转换为与旧浏览器兼容的旧版本。例如,给定ES2015箭头函数:

    [2, 4, 6].map((n) => n * 2);
    [2, 4, 6].map((n) => n * 2);
    [2, 4, 6].map((n) => n * 2);
    

    …Babel将其转换为ES5版本:

    [2, 4, 6].map(function(n) {
    return n * 2;
    });
    [2, 4, 6].map(function(n) {
    return n * 2;
    });
    [2, 4, 6].map(function(n) {
      return n * 2;
    });
    

    什么是Transpiling PHP?

    Web开发中潜在的新功能是转换服务器端代码的可能性,特别是PHP。

    转换PHP的工作方式与转换JavaScript的工作方式相同:现代PHP版本的源代码转换为旧PHP版本的等效代码。

    下面是与前面相同的示例,PHP 7.4中的箭头函数:

    $nums = array_map(fn($n) => $n * 2, [2, 4, 6]);
    $nums = array_map(fn($n) => $n * 2, [2, 4, 6]);
    $nums = array_map(fn($n) => $n * 2, [2, 4, 6]);
    

    …可以转换为其等效的PHP 7.3版本:

    $nums = array_map(
    function ($n) {
    return $n * 2;
    },
    [2, 4, 6]
    );
    $nums = array_map(
    function ($n) {
    return $n * 2;
    },
    [2, 4, 6]
    );
    $nums = array_map(
      function ($n) {
        return $n * 2;  
      },
      [2, 4, 6]
    );
    

    可以转换箭头函数,因为它们是语法糖,即生成现有行为的新语法。这是低垂的果实。

    然而,也有一些新特性创建了一种新的行为,因此,对于以前版本的PHP不会有等效的代码。PHP 8.0中引入的联合类型就是这样:

    function someFunction(float|int $param): string|float|int|null
    {
    // …
    }
    function someFunction(float|int $param): string|float|int|null
    {
    // …
    }
    function someFunction(float|int $param): string|float|int|null
    {
      // ...
    }
    

    在这些情况下,只要开发需要新特性,而不是生产需要新特性,就仍然可以进行转换。然后,我们可以简单地从转换的代码中完全删除该特性,而不会产生严重后果。

    联合类型就是这样一个例子。此功能用于检查输入类型与其提供的值之间是否不匹配,这有助于防止错误。如果与类型发生冲突,那么开发中就会出现错误,我们应该在代码到达生产环境之前捕获并修复它。

    因此,我们可以从生产代码中删除该功能:

    function someFunction($param)
    {
    // …
    }
    function someFunction($param)
    {
    // …
    }
    function someFunction($param)
    {
      // ...
    }
    

    如果错误仍然发生在生产中,抛出的错误消息将不如使用联合类型时准确。然而,这一潜在的缺点被能够首先使用联合类型所抵消。

    Transpiling PHP的优势

    Transpiling使您能够使用最新版本的PHP编写应用程序,并生成一个在运行旧版本PHP的环境中也能工作的版本。

    这对于为旧式内容管理系统(CMS)创建产品的开发人员特别有用。例如,WordPress仍然官方支持PHP5.6(尽管它推荐PHP7.4+)。运行PHP版本5.6到7.2的WordPress站点的百分比为34.8%,而运行PHP版本(8.0除外)的站点的百分比高达99.5%:

    WordPress使用情况统计(按版本)

    WordPress使用情况统计(按版本)图像来源:WordPress

    因此,面向全球受众的WordPress主题和插件很可能使用旧版本的PHP进行编码,以增加其可能的影响范围。多亏了transpiling,这些代码可以使用PHP8.0进行编码,并且仍然可以针对较旧的PHP版本发布,从而尽可能多地面向用户。

    事实上,任何需要支持除最新版本以外的任何PHP版本(即使在当前支持的PHP版本范围内)的应用程序都可以从中受益。

    Drupal就是这样,它需要PHP7.3。由于transpiling,开发人员可以使用PHP8.0创建公开可用的Drupal模块,并使用PHP7.3发布它们。

    另一个例子是为由于某种原因而无法在其环境中运行PHP8.0的客户机创建自定义代码时。尽管如此,多亏了transpiling,开发人员仍然可以使用PHP8.0编写可交付成果,并在这些遗留环境中运行它们。

    何时需要转换PHP(Transpile PHP)

    PHP代码始终可以转换,除非它包含一些在之前的PHP版本中没有对等的PHP功能。

    情况可能就是这样属性,在PHP 8.0中介绍:

    #[SomeAttr]
    function someFunc() {}
    #[AnotherAttr]
    class SomeClass {}
    #[SomeAttr]
    function someFunc() {}

    #[AnotherAttr]
    class SomeClass {}

    #[SomeAttr]
    function someFunc() {}
    
    #[AnotherAttr]
    class SomeClass {}

    在前面使用箭头函数的示例中,可以转换代码,因为箭头函数是语法糖。相反,属性创建了全新的行为。PHP7.4及以下版本也可以复制这种行为,但只能通过手动编码,即不自动基于工具或流程(AI可以提供解决方案,但我们还没有)。

    用于开发的属性,如#[Deprecated],可以用删除联合类型的相同方式删除。但是,不能删除在生产中修改应用程序行为的属性,也不能直接转换这些属性。

    到目前为止,没有一个transpiler能够接受具有PHP8.0属性的代码并自动生成其等效PHP7.4代码。因此,如果您的PHP代码需要使用属性,那么转换它将是困难的或不可行的。

    可转换PHP功能

    这些是PHP7.1及以上版本的特性,目前可以转换。如果您的代码只使用这些特性,那么您可以确信您的转换应用程序将正常工作。否则,您将需要评估转换的代码是否会产生故障。

    PHP 版本 特征
    7.1 所有都可以
    7.2 – object type
    – parameter type widening
    – PREG_UNMATCHED_AS_NULL flag in preg_match
    7.3 – Reference assignments in list() / array destructuring (Except inside foreach — #4376)
    – Flexible Heredoc and Nowdoc syntax
    – Trailing commas in functions calls
    – set(raw)cookie accepts $option argument
    7.4 – Typed properties
    – 
    Arrow functions
    – 
    Null coalescing assignment operator
    – 
    Unpacking inside arrays
    – 
    Numeric literal separator
    – 
    strip_tags() with array of tag names
    – 
    covariant return types and contravariant param types
    8.0 – Union types
    – 
    mixed pseudo type
    – 
    static return type
    – 
    ::class magic constant on objects
    – 
    match expressions
    – 
    catch exceptions only by type
    – 
    Null-safe operator
    – 
    Class constructor property promotion
    – 
    Trailing commas in parameter lists and closure use lists

    PHP转换器(PHP Transpilers)

    目前,有一个用于转换PHP代码的工具:Rector

    Rector是一个PHP重构工具,它根据可编程规则转换PHP代码。我们输入源代码和要运行的规则集,Rector将转换代码。

    Rector通过命令行操作,通过Composer安装在项目中。执行时,Rector将在转换前后输出代码的“diff”(添加为绿色,删除为红色):

    来自Rector的“diff”输出

    来自Rector的“diff”输出

    转换到哪一个PHP版本

    要跨PHP版本转换代码,必须创建相应的规则。

    今天,Rector库包含PHP8.0到7.1范围内的大多数代码转换规则。因此,我们可以可靠地将PHP代码转换到7.1版。

    也有从PHP7.1到7.0以及从7.0到5.6的转换规则,但这些规则并不详尽。完成这些代码的工作正在进行中,因此我们可能最终会将PHP代码转换到5.6版。

    Transpiling vs Backporting

    Backporting与Transpiling类似,但更简单。Backporting代码不一定依赖于语言的新特性。相反,只需从新版本的语言复制/粘贴/改编相应的代码,就可以为旧版本的语言提供相同的功能。

    例如,PHP 8.0中引入了str_contains函数。PHP 7.4及以下版本的相同功能可以像这样轻松实现:

    if (!defined(‘PHP_VERSION_ID’) || (defined(‘PHP_VERSION_ID’) && PHP_VERSION_ID < 80000)) {
    if (!function_exists(‘str_contains’)) {
    /**
    * Checks if a string contains another
    *
    * @param string $haystack The string to search in
    * @param string $needle The string to search
    * @return boolean Returns TRUE if the needle was found in haystack, FALSE otherwise.
    */
    function str_contains(string $haystack, string $needle): bool
    {
    return strpos($haystack, $needle) !== false;
    }
    }
    }
    if (!defined(‘PHP_VERSION_ID’) || (defined(‘PHP_VERSION_ID’) && PHP_VERSION_ID < 80000)) {
    if (!function_exists(‘str_contains’)) {
    /**
    * Checks if a string contains another
    *
    * @param string $haystack The string to search in
    * @param string $needle The string to search
    * @return boolean Returns TRUE if the needle was found in haystack, FALSE otherwise.
    */
    function str_contains(string $haystack, string $needle): bool
    {
    return strpos($haystack, $needle) !== false;
    }
    }
    }
    if (!defined('PHP_VERSION_ID') || (defined('PHP_VERSION_ID') && PHP_VERSION_ID < 80000)) {
      if (!function_exists('str_contains')) {
        /**
         * Checks if a string contains another
         *
         * @param string $haystack The string to search in
         * @param string $needle The string to search
         * @return boolean Returns TRUE if the needle was found in haystack, FALSE otherwise.
         */
        function str_contains(string $haystack, string $needle): bool
        {
          return strpos($haystack, $needle) !== false;
        }
      }
    }

    因为Backporting比Transpiling更简单,所以无论何时进行Backporting,我们都应该选择这种解决方案。

    关于PHP8.0到7.1之间的范围,我们可以使用Symfony的polyfill库:

    这些库支持以下函数、类、常量和接口:

    PHP 版本 特征
    7.2 功能:

    函数:

    7.3 功能:

    异常处理:

    7.4 功能:

    8.0 接口:

    • Stringable

    类:

    • ValueError
    • UnhandledMatchError

    函数:

    • FILTER_VALIDATE_BOOL

    功能:

    Transpiled PHP示例

    让我们一起来看看几个转换PHP代码的示例,以及几个正在完全转换的包。

    PHP代码

    match 表达式是在PHP8.0中引入的。此源代码:

    function getFieldValue(string $fieldName): ?string
    {
    return match($fieldName) {
    ‘foo’ => ‘foofoo’,
    ‘bar’ => ‘barbar’,
    ‘baz’ => ‘bazbaz’,
    default => null,
    };
    }
    function getFieldValue(string $fieldName): ?string
    {
    return match($fieldName) {
    ‘foo’ => ‘foofoo’,
    ‘bar’ => ‘barbar’,
    ‘baz’ => ‘bazbaz’,
    default => null,
    };
    }
  • WordPress Cookies和PHP会话——你需要知道的一切

    WordPress Cookies和PHP会话——你需要知道的一切

    Cookies是由一位名叫Lou Montulli的计算机程序员于1994年首次发明的。没有它们,网络将是一个完全不同的地方。无论您是登录WordPress网站的后端还是关闭烦人的弹出窗口,您每天都会使用cookie并与之交互(即使您没有意识到)。

    到目前为止,您可能已经猜到,当我们提到cookie时,我们指的是用于在网站上存储重要访问者信息的cookie ,而不是美味的巧克力片。

    今天我们将深入探讨cookie和PHP会话这个有时令人困惑的话题。具体来说,您需要了解有关WordPress如何使用它们的所有信息,以及在托管您的网站、自定义代码或使用第三方插件时应该注意的一些常见问题(尤其是作为开发人员)。在我们看来,这个话题讨论得还不够。

    什么是Cookie?

    cookie(也称为网络cookie、跟踪cookie、HTTP cookie、浏览器cookie)是用户浏览器(Chrome、Firefox 等)在访问网站时存储的一小段数据。它包含有关浏览活动的信息,通常用于个性化用户体验或用于身份验证和验证目的。会话cookie和持久性cookie是常见的cookie类型。

    Cookie的类型

    通常设置两种不同类型的cookie:会话cookie持久性cookie

    会话Cookie

    会话cookie,也称为临时cookie,是临时的。它们没有附加到期日期,仅存储有关用户在单个会话期间所做操作的信息。会话只是当有人访问网站时分配的随机生成/唯一值。会话cookie临时存储在内存中,并在浏览器关闭或会话结束时自动删除。

    持久性Cookie

    正如您可能已经猜到的那样,持久性cookie是那些包含过期日期的cookie。这些持续时间更长,并存储在磁盘上,直到它们过期或由用户手动清除 。这些有时也称为“跟踪cookie”,因为这些是Google Analytics、AdRoll、Stripe等都使用的cookie类型。

    我们的返利联盟计划是另一个例子。当用户点击附属链接时,会在用户的浏览器中放置一个60天的cookie。这可以确保推荐人获得适当的信用,即使此人已多次关闭并重新打开其浏览器。

    WordPress核心如何使用Cookie

    当我们提到WordPress核心时,我们只是指在安装任何第三方插件或主题之前构成开源项目的文件。它是我们喜欢称之为自然状态的WordPress。

    现在您已经了解了cookie是什么以及不同类型的基础知识,让我们来看看WordPress核心为什么以及如何使用它们来使所有这些魔术在幕后发生。有趣的事实Cookie最初源自“magic cookie”一词。

    WordPress核心将cookie用于两个不同的目的:

    1. 登录Cookie

    登录cookie包含身份验证详细信息,并在用户登录WordPress管理仪表盘时使用。根据WordPress Codex,设置了几个不同的会话cookie:

    • 登录时,WordPress使用wordpress_[hash]cookie存储身份验证详细信息(仅限该/wp-admin/区域)。
    • 登录后,WordPress设置wordpress_logged_in_[hash]cookie。这表明您何时登录以及您是谁。

    当您尝试访问WordPress网站的后端时,会检查上述两个cookie是否存在并且尚未过期。这就是让您神奇地绕过 wp-login.php页面的原因。

    WordPress还设置wp-settings-{time}-[UID]cookie。ID是WordPress用户数据库表中的用户ID。这存储个人仪表板和管理界面设置。

    2.评论Cookie

    默认情况下,当有人对博客文章发表评论时会设置cookie(有效期为347天)。因此,如果他们稍后回来,他们不必重新填写所有信息。存储了以下三个cookie:

    • comment_author_[hash]
    • comment_author_email_[hash]
    • comment_author_url_[hash]

    但是,由于GDPR最近对隐私政策进行了更改,WordPress核心引入了新工具,以确保您让用户选择加入这些正在设置的cookie。此设置(如果尚未设置)可以在WordPress管理仪表盘的“设置 → 讨论”下启用。选择“显示评论cookies复选框,允许设置评论者cookies。”选项。流行的Akismet插件还允许您显示隐私声明。

    评论cookie如何选择加入

    评论cookie如何选择加入

    第三方WordPress插件和主题如何使用Cookie

    就像WordPress将cookie用于某些功能一样,您安装的第三方插件和主题也会设置cookie。他们中的大多数使用存储在wp_options表或他们自己的自定义表中的浏览器cookie和数据库行的组合。这是因为WordPress是无状态的。

    无状态应用程序是一种应用程序,它不会保存在一个会话中生成的客户端数据,以便在与该客户端的下一个会话中使用。每个会话都像第一次一样进行,响应不依赖于前一个会话的数据。–TechTarget

    有了新的隐私法,真正了解设置了哪些cookie以及它们是否为访问者提供了选择加入的方式比以往任何时候都更加重要。提示:并非所有cookie都需要选择加入。

    以下只是cookie用途的众多示例中的几个:

    • 如果您的WordPress网站上有一个弹出框并且访问者将其关闭,这通常会设置一个cookie,以便它不会再次出现。
    • 在您的电子商务网站上添加到购物车的商品。存储cookie以便购物车在您继续浏览网站时保留您的产品。
    • IP地理位置功能可能会存储浏览该站点的访问者的IP地址和纬度/经度坐标。这通常用于向特定区域显示特定内容,甚至可能将用户重定向到不同的子站点。
    • 使用PrettyLinks插件等链接缩短器跟踪点击活动。
    • 如果用户已经订阅,通讯插件可能会为他们设置一个cookie,这可以完全隐藏通讯框。

    基本上,在WordPress网站上的任何操作或选择加入,通常都会涉及在幕后在浏览器中设置cookie。当然,这样做的目的是尝试帮助改善浏览器体验或通过验证提供额外的功能。

    WooCommerce Cookie

    诸如WooCommerce之类的电子商务插件通常会设置自己的附加cookie,以便买家可以轻松地将商品添加到购物车、存储以供以后结帐以及登录和退出帐户。

    为了跟踪购物车数据,WooCommerce设置了以下三个cookie  (cookie中不存储个人信息):

    • woocommerce_cart_hash
    • woocommerce_items_in_cart
    • wp_woocommerce_session_

    前两个cookie包含有关购物车的信息,只是帮助WooCommerce知道购物车数据何时更改。第三个cookiewp_woocommerce_session_包含每个客户的唯一代码,该代码对应于数据库中自定义wp_woocommerce_sessions表中的条目。

    wp_woocommerce_sessions表

    wp_woocommerce_sessions表

    wp_commerce_session_数据之前存储在wp_options表中,但在WooCommerce 2.5中引入了新的会话处理程序时,它们被移动到了自己的自定义表中。这是为了提高性能、可伸缩性和会话管理。否则,您很快就会得到一个必须清理的臃肿的wp_options表

    Easy Digitial Downloads Cookie

    Easy Digital Downloads默认使用WP_Session,它是浏览器cookie和存储在wp_options表中的数据库行的组合。下面是它设置的cookie:

    • edd_items_in_cart

    Cookie和WordPress缓存

    说到WordPress缓存,这就是事情变得棘手的地方。缓存本质上是存储来自一个请求的资源并将这些资源重用于后续请求的过程。基本上,它减少了生成页面视图所需的工作量。虽然这对性能很有好处,但在涉及cookie时会引起问题。

    为什么?因为cookie用于执行特定操作,例如在您浏览WooCommerce网站时保持购物车的填充。但是,如果页面是从缓存中提供的,那么PHP和数据库都不会做任何事情,服务器只会提供页面的静态副本。

    所以,你可以做什么?

    1. 使用JavaScript

    第一个选项是使用JavaScript并动态更新页面上的内容。基本上,您有HTML占位符并使用JavaScript通过API或ajax调用获取信息。

    一个示例是通过使用JavaScript在wp-api上获取文章列表,然后在侧边栏中呈现它们,从而在WordPress侧边栏中加载文章列表。在这种情况下,您可以在不从缓存中清除页面的情况下更新文章列表,因为数据是动态生成的。

    虽然这并不理想,但在性能方面,如果可能的话,缓存总是更好。但是,如果您必须让一些内容保持动态,而页面本身可以保持静态(从缓存中提供),这是一种方法 – 使用JavaScript通过API/ajax动态下拉页面该部分的内容称呼。但是,除非您可以聘请WordPress开发人员来构建自定义JavaScript解决方案或插件扩展,否则此选项通常不实用。

    2. 使用Admin-Ajax调用

    Admin-ajax.php无法缓存,因此您可以使用admin-ajax调用。No Cache AJAX Widgets插件就是一个很好的例子。它进行admin-ajax调用,因此不必担心与服务器级或第三方缓存解决方案发生冲突。

    然而,就像使用JavaScript一样,沿着这条路线走对于普通用户来说通常是不可行的。它还可能导致其他性能问题,例如高admin-ajax使用率 和大量未缓存请求。

    除非您可以使用JavaScript或admin-ajax路由,否则当存在特定cookie时将页面从缓存中排除是最好的方法。这通常是我们推荐的,尤其是那些运行高度动态网站的网站,例如WooCommerce和Easy Digital Downloads。

    在设置缓存的时候,我们应该将某些WooCommerce和Easy Digital Downloads页面(例如购物车、我的帐户和结帐)设置自动从缓存中排除。比如设置服务器级别的规则,以便用户在检测到woocommerce_items_in_cartcookie 或 edd_items_in_cartcookie时自动绕过缓存,以确保顺利和同步的结帐过程。

    当我们检测到有人登录WordPress时,我们还会侦听相关的登录cookie并将缓存设置为绕过。这可以防止后端仪表板意外被缓存。

    默认情况下,我们不会wp_woocommerce_session_从缓存中排除cookie。根据我们的经验,大多数WooCommerce网站都没有任何问题。这还通过增加缓存HIT比率来提高性能,同时使用更少的PHP workers

    但是,由于有许多不同的WordPress主题和插件配置,wp_woocommerce_session_如果需要,我们可以从缓存中排除cookie。只需联系我们的支持团队。结果是,一旦用户将产品添加到他们的购物车中,所有后续请求都不会从缓存中得到处理,从而增加了PHP worker的使用率。

    如果您需要从缓存中排除的自定义页面,请随时与我们的支持团队开票。同样,您必须小心excludes。太多未缓存的页面确实会降低性能。

    如何查看和清除Cookie

    在网站上查看和清除cookie很容易。要查看在特定站点上设置了哪些cookie,请浏览到该站点并单击顶部的小挂锁图标。然后点击“Cookie”。

    正在使用的Cookie

    正在使用的Cookie

    然后深入到该网站的文件夹。在下面的示例中,您可以看到我们设置了一些WooCommerce cookie以及 wordpress_logged_in_[hash]cookie。您还可以查看过期时间以及它是持久cookie还是会话cookie(浏览会话结束时)。

    WordPress cookie

    WordPress cookie

    要删除cookie,只需单击单个cookie并单击“删除”按钮。您也可以在文件夹级别或Chrome DevTools中执行此操作。

    清除cookie还可以帮助您修复304错误

    或者,您可以在浏览器中搜索或清除所有cookie

    GDPR和Cookie

    GDPR是一项新的隐私法,于2018年5月25日生效。它旨在让公民重新控制他们的个人数据。

    下面是一个为帮助遵守新法律所做的一项更改的示例。当您第一次访问我们的网站时,您可能已经看过它,您会在屏幕底部看到“ACCEPT Cookies”提示。这是因为我们现在被法律要求为用户提供一种选择加入和选择退出设置的cookie的方式。在不通知用户数据收集的情况下只运行您想要的任何东西的日子已经一去不复返了。

    GDPR和Cookie

    如果您单击“ACCEPT Cookie”,则会为用户设置所有Cookie。如果您单击“Cookie Setting”,我们现在会提供一种方式来选择加入和退出您想要的任何Cookie。

    Cookie设置

    Cookie设置

    很漂亮吧?我们的cookie解决方案是由我们的开发人员内部构建的,但这里有一些有用的GDPR WordPress插件,可以帮助您完成类似的事情。同样,Cookie只是完全符合 GDPR 的一小部分。

    PHP会话

    PHP会话是标准cookie方法的替代方案。它仍然是一个cookie,但它被称为PHPSESSID,通常存储在Web服务器本身的/tmp/目录中。服务器知道将给定会话与给定请求相关联的方式是它也存储在HTTP cookie中。

    PHPSESSID HTTP cookie

    PHPSESSID HTTP cookie

    这也可以在站点的HTTP标头下看到。

    HTTP标头设置cookie PHPSESSID

    HTTP标头设置cookie PHPSESSID

    PHP session很像一个普通的session,它在用户关闭浏览器时结束。

    PHP会话的问题都归结为性能和缓存问题。存储在浏览器cookie中的信息必须随着每个请求来回反弹,以便服务器知道用户是谁。这意味着对于使用PHPSESSID的站点,主机必须设置PHPSESSID以绕过缓存。然而,结果是PHPSESSID必须设置为100%的时间绕过,因为与 wordpress_logged_in不同的是,PHPSESSID是在每个PHP请求上设置的。

    所以想象一下,wordpress_logged_in必须设置100%的时间才能允许登录功能正常工作。这意味着即使是注销的用户也必须拥有cookie,并且它必须对他们来说是唯一的。想象一下,为了使WordPress登录系统正常工作,这是必需的。在这种情况下,每个页面视图都必须绕过缓存,以便wordpress_logged_in为登录和注销的用户正确设置cookie。

    这就是使用PHPSESSID的问题。因为它是在每一个PHP请求上生成的,所以如果一个站点依赖于PHPSESSID cookie,主机将不得不设置PHPSESSID以100%的时间绕过缓存。否则,PHPSESSID最终会被缓存,并且会破坏依赖它的任何功能。

    我们不建议使用PHP会话,PHP会话还具有其他应考虑的安全隐患。

    如果您在您的网站上看到代码使用session_start,这意味着它使用PHP会话。

    许多插件和主题开发人员已经开始使用浏览器cookie和数据库行的组合(在wp_options表中或他们自己的自定义表中)。如果您需要会话数据,这是更好的方法。

    小结

    希望现在您比以前更了解WordPress cookie和PHP会话的工作原理。Cookies目前是让世界运转的东西,对于WordPress网站上发生的几乎所有事情都很重要。从让我们保持登录状态,到确保顺畅的购物车体验,甚至确保弹出窗口保持关闭状态。

  • 如何提高WordPress中的PHP内存限制

    如何提高WordPress中的PHP内存限制

    你的插件不工作。您的网站未加载。您不断看到“Allowed memory size exhausted”错误,并且一直说增加您的PHP内存限制。那是什么,你如何解决它?

    PHP内存限制的存在是为了阻止占用RAM的资源使您的网站崩溃。但有时它也可能导致问题,例如当您安装需要一点额外功能的插件并最终切断对您网站的访问时。

    当您因内存不足而遇到白屏死机时,您需要立即修复此问题。让我们来看看PHP内存限制是什么,以及如果达到资源上限如何解决它。

    1. 什么是PHP内存限制?
    2. 如何在WordPress中增加PHP内存限制
    3. PHP内存限制应该是多少?

    什么是PHP内存限制?

    PHP内存限制设置您网站上的任何脚本可以使用的最大内存量。但这究竟是什么意思?

    您的网站由服务器提供支持,这些服务器只是用于保持网站后端运行的专用计算机。与普通计算机一样,它们使用处理器、存储和RAM(也称为内存)等组件。

    RAM是服务器最重要的部分之一。每个程序和应用程序都会占用一点内存。程序越密集,占用的内存就越多。当您的内存不足时,您的网站将运行缓慢甚至拒绝加载。

    Web应用程序(例如WordPress插件)是可能占用服务器内存的众多事物之一。通常,这些应用程序占用的空间非常小,除非您的主机给您的内存非常少,否则您永远不会遇到任何问题。

    但是对于任何PHP应用程序的脚本可以在您的服务器上占用多少内存也有一个硬性上限。当其中一个脚本超过限制时,您就会开始遇到问题。

    您会看到一个带有错误的白屏,甚至可能会禁止您访问整个网站。

    为什么有内存限制?

    想象一下,您的服务器出了点问题。也许一个程序陷入无限循环并不断占用越来越多的内存,或者攻击者诱骗您安装运行恶意脚本的东西以占用您的所有资源。

    当PHP进程失控时,内存限制会在它们导致整个服务器崩溃或耗尽当月所有分配的资源之前对其进行硬性阻止。

    大多数合法的PHP脚本都很小。每个单独的脚本应该只占用少量的RAM,除非你有一个不寻常的程序需要在一个脚本中比大多数程序作为一个整体占用更多的资源。这些类型的插件当然存在,但很少见。

    如果您的内存不足,则很有可能存在损坏或恶意的PHP程序,因此会出现内存限制错误。

    但有时你确实在使用需要额外内存的大型插件。一些Web主机还将PHP内存限制设置得非常低,因此即使您没有安装异常耗电的应用程序,也会导致出现错误。

    无论哪种方式,您都会很快遇到内存耗尽错误。

    内存耗尽错误

    所以你遇到了内存耗尽错误。您可能会在整个站点中或在执行某些功能(例如提交表单)时遇到带有错误消息的白屏。

    出现在WordPress中的内存限制耗尽错误

    出现在WordPress中的内存限制耗尽错误

    这是一个严重的问题,尤其是当它影响您的整个网站时。过去的每一个小时都会有很多迷路的游客。

    罪魁祸首可能是一个非常大或配置错误的插件。因为WordPress插件是用PHP编码的,所以它们受PHP内存限制的限制。

    您可以通过一一禁用插件来找到导致问题的插件,直到重新访问您的站点。一旦你确定了它,检查文档并查看它是否说明它需要运行多少内存。

    如果没有迹象表明它应该是一个非常强大的插件,您可能需要向插件开发人员提交一张票,因为它可能是错误的。请记住,PHP内存限制仅影响单个脚本,而不影响整个插件。因此,脚本很有可能陷入无限循环或其他故障。

    这个问题也可能在你身上。也许您的内存限制设置得太低,因此只有最小的插件才能正确运行。或者,也许您正在尝试安装一个插件,该插件要求您将限制提高到比正常水平更高的水平。

    无论哪种情况,您都应该尝试增加PHP内存限制。现在让我们向您展示如何做到这一点。

    如何在WordPress中增加PHP内存限制

    在做任何事情之前,有一种简单的方法可以检查您当前的PHP内存限制,而无需挖掘任何文件。如果您运行的是WordPress 5.2或更高版本,请转到后端的工具 > 站点健康运行状况。

    如果看不到,请安装运行Health Check & Troubleshooting

    在WordPress中查看站点健康信息

    在WordPress中查看站点健康信息

    信息选项卡下,您将看到您的PHP内存限制。如果它已经设置得相当高,那么您的一个插件可能只是被破坏了。

    但是,如果您发现它非常低,则需要通过编辑wp-config.php文件来增加它。

    这并不总能解决问题。最终,PHP内存限制由您的Web主机设置。有时,您的站点设置为使用的资源少于主机提供的资源,调整文件可以解决此问题。但是如果他们的硬编码限制太低,无论你手动设置多高,你都无法真正增加它。

    但值得一试,所以让我们现在去编辑那个文件。

    PHP内存限制是多少?

    不同的服务器提供商所设置的限制都不太一样,稍微良心的服务器提供商可能会给出256MB的默认PHP内存限制。这对于99%的WordPress插件来说应该绰绰有余,而且实际上远远超过了大多数插件所应采用的。

    它可能仍然值得通过并确保它没有在WordPress的设置中无意中设置得太低。有可能某些东西改变了数量并减少了您可以访问的资源数量。

    如何通过FTP更改PHP内存限制

    要编辑wp-config.php文件,您需要使用FTP或SFTP访问您的站点。这允许您编辑影响站点运行方式的敏感内部文件。

    你只会改变一条线,所以应该很容易。首先安装FileZilla或您选择的其他FTP客户端。它是免费的,所以不用担心。在开始之前,您还应该备份您的网站。在编辑核心文件时很容易意外破坏某些东西。

    打开FileZilla并输入您的凭据。片刻之后,您应该连接到您的站点。

    单击公共文件夹并找到wp-config.php。如果找不到public或public-html,它可能被称为root、www或您的网站名称。

    在FileZilla中查找wp-config

    在FileZilla中查找wp-config

    打开wp配置。注意不要编辑PHP内存限制行以外的任何内容,因为这是一个敏感文件,可能会破坏您的网站。浏览它,直到找到这一行:define(‘WP_MEMORY_LIMIT’, ‘256M’);

    出现在wp-config中的WP内存限制

    出现在wp-config中的WP内存限制

    更改此处列出的数字,保存文件,然后关闭FileZilla。

    如何在cPanel中更改PHP内存限制

    有些主机不允许您通过FTP编辑文件。相反,他们可能会让您访问cPanel。如果您遇到这种情况,请不要担心——您也可以通过这种方式更改您的PHP内存限制。

    第一步:使用主机提供的凭据登录cPanel。在主屏幕上,您将看到一个带有选择PHP版本按钮的软件部分。

    在cPanel中选择PHP版本

    在cPanel中选择PHP版本

    单击它,然后在屏幕顶部,您将看到Switch to PHP options。向下滚动,直到看到带有下拉菜单的memory_limit 。单击它并将其更改为您想要的设置。单击应用,您就完成了。

    不是每个人都会有选择PHP版本选项。相反,您可能会看到MultiPHP Ini Editor 。如果是这种情况,您的步骤会有所不同。

    cPanel中的MultiPHP Ini编辑器

    cPanel中的MultiPHP Ini编辑器

    您需要单击它,然后在下一个窗口中,在Configure PHP INI basic settings下,您应该打开下拉列表并选择您的域。找到memory_limit部分并输入您想要的数字。单击应用以保存您的更改。

    您也可以尝试使用cPanel的文件管理器。这与通过FTP访问您的站点非常相似。在主页的文件部分下,单击文件管理器。找到您的public/public-html文件夹(或任何可能被称为的文件夹)并打开wp-config.php

    找到上一节中概述的WP_MEMORY_LIMIT行,并将数字更改为您想要的。保存您的更改并确保应用它们,这就是您需要做的所有事情。

    PHP内存限制应该是多少?

    当您更改内存限制时,您的第一个冲动可能是将其设置为900MB 或类似的值——尽可能高。但这实际上可能是一个非常糟糕的主意

    如果您网站上的脚本中断,它可能会迅速失控并使您的整个服务器崩溃。即使您的站点托管在功能强大的硬件上,一个脚本占用所有内存仍可能导致严重问题。

    错误配置的脚本异常繁重,但没有破坏到导致问题的程度,也可能被忽视。大多数PHP脚本都很小,内存限制错误是后端出现问题的警告信号。将其设置得太高,您可能会在不知不觉中搞砸脚本,使您的网站陷入困境。

    您应该将PHP内存限制设置得尽可能低,同时仍然允许您的站点正常运行。

    128MB是一个很好的基准。这是相当大的内存量,可以处理大多数密集型插件。如果您知道您将需要一些额外的功能,那么256MB甚至可以涵盖最重的插件。如果你确定你有一个真正的强者,512MB是你应该设置的绝对最大值。在90%的情况下,您永远不需要将内存限制提高到256 MB以上。

    如果更改内存限制不起作用怎么办?

    如果在编辑您的PHP文件后您仍然遇到内存错误,则问题之一是两个问题之一:您的主机分配的资源很少,或者您的服务器上有一个PHP脚本占用了太多的内存。

    同样,您应该检查并禁用您的插件,直到您确定罪魁祸首。使用128-256MB内存,没有插件应该占用这么多空间而不在文档中的某处提及它。禁用它并通知插件作者发生了什么。

    即使在所有插件都被禁用后仍然遇到错误?一定有一些冲突或其他PHP应用程序导致了问题。这超出了您自己能够处理的范围,因此请向您的网络托管服务商寻求帮助。

    如果问题根本不是插件,那么责任可能在于您的主机将内存限制设置得太低。您可能正在使用共享主机,它因分配非常少量的内存而臭名昭著 – 这是可以理解的,因为如果一个站点使用过多的RAM,它会使整个系统陷入数十个其他网站的困境。

    您在这里唯一的选择是升级到提供更多资源的计划。这可能最终代价高昂,特别是如果您只是想在新站点上安装一个密集的插件。如果您还没有很多访客,那么从升级中获得的所有其他资源都不会对您有太大帮助。

    您还可以切换到提供更多内存的主机。

    小结

    PHP内存限制的存在有一个非常正当的原因:您不希望流氓进程占用比预期更多的RAM。但是,当您在使用合法插件时达到极限并遇到白屏死机时,这可能会很烦人。

    最后,取决于您的主机您可以访问多少PHP内存。如果他们设置的标准太低,就不可能提高。

    但是,有时您的网站使用的资源会比您真正可以访问的资源少。在这种情况下,可以增加你的记忆力。尝试将其设置为128或256MB,因为您不希望它太高。

    如果这些方法都不起作用,则可能是缺少分配的资源导致了问题,而不是需要更改的设置。联系您的主机并询问如何获得更多,或切换到提供更大内存的主机,它可以为您提供比您需要的更多内存。

  • 如何实现WordPress网站降级(用于解决插件和主题问题)

    如何实现WordPress网站降级(用于解决插件和主题问题)

    在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。

    如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于回滚您网站的每个元素。

    这篇文章将解释为什么您可能需要降级WordPress,以及如何安全地降级。我们将介绍恢复以前版本的WordPress,以及回滚插件、主题和PHP。

    1. 为什么要降级您的WordPress版本或其他功能
    2. 如何降级您的WordPress网站

    为什么要降级您的WordPress版本或其他功能

    运行最新版本的WordPress核心(在我们的例子中是WordPress 5.5 )、插件和主题是维护网站最重要的步骤之一。这些更新通常包括安全补丁,这些补丁对于防止对您的站点的恶意攻击至关重要,并且可能会增强性能和功能。

    因此,我们不建议永久降级WordPress或其任何组件。但是,在某些情况下,您可能希望暂时这样做。

    最常见的原因是由于插件或主题冲突。例如,如果您网站的某个元素与最新版本的WordPress核心不兼容,则降级安装可以让访问者在您使用长期解决方案时访问该功能。

    (建议阅读:如何修复WordPress中的错误“网站遇到技术问题。”)。

    如果两个插件之间或插件与您的主题之间发生冲突,降级WordPress本身将无济于事。相反,您需要回滚导致问题的插件或主题的版本,以便让您的网站重新启动并运行。

    此外,一些较旧的插件和主题可能与较新版本的PHP不兼容。如果有问题的插件或主题对您网站的功能至关重要,您可能希望在找到替代解决方案时降级PHP一段时间。

    简而言之,降级WordPress应该是一个临时的故障排除过程。一旦您更换了有问题的插件或主题,或者以其他方式解决了导致您网站冲突的问题,您将需要计划再次更新您的网站。

    如何降级您的WordPress网站

    降级WordPress网站的过程将取决于您要完成的工作。您可能会发现您需要恢复整个网站的先前版本,或者您只需要恢复单个插件或主题而不是WordPress本身。

    考虑到这一点,这里有六种不同的方式可以让您回滚您的网站。每个都解决了不同的需求,因此我们建议您通读所有这些,看看哪个最适合您的具体情况。

    1. 手动降级您的WordPress版本

    如果您遇到严重的冲突导致您无法访问网站的后端,手动降级WordPress可能是您最好或唯一的选择。在开始之前,您需要备份您的网站以确保安全。

    接下来,您应该停用所有插件。如果您可以访问WordPress后端,这很容易。只需选中每个插件旁边的复选框,然后使用批量停用选项:

    在后端批量停用WordPress插件

    在后端批量停用WordPress插件

    如果您无权访问仪表板,则可以使用安全文件传输协议 (SFTP) 和FileZilla等客户端手动停用插件。您还需要这些工具用于以后的步骤,因此如果您不熟悉它们,您可能需要花点时间了解它们的工作原理。

    然后,您需要下载相关版本的WordPress。我们建议尽可能使用最新版本,通常是第二个最新版本。您可以在WordPress发布存档中访问您需要的文件:

    WordPress发布档案

    WordPress发布档案

    然后,使用FTP和FileZilla(或其他客户端)访问您网站的文件并删除您的wp-adminwp-includes目录:

    通过FTP删除wp-admin和wp-includes

    通过FTP删除wp-admin和wp-includes

    完成后,上传您要安装的WordPress版本中的所有文件,wp-content目录除外。当询问您是否要覆盖文件时,选择Overwrite > Ok

    覆盖FileZilla中的文件

    覆盖FileZilla中的文件

    然后,导航到您网站的后端。您可能会看到一条消息,要求您更新数据库。如果是这样,请单击更新WordPress数据库提示。之后,照常登录您的网站。

    您现在应该可以访问并运行旧版本的WordPress:

    降级的WordPress安装

    降级的WordPress安装

    此时,您可以重新激活插件并着手解决原始冲突。

    您可能还想禁用自动更新 ,以防止WordPress在此期间安装另一个版本。当您的问题得到解决后,您可以从仪表板的更新屏幕返回到最新版本的WordPress 。

    2. 使用WP Downgrade运行以前版本的WordPress

    如果您觉得通过FTP删除核心文件比较复制,可以使用一个插件来降级WordPress,请在备份您的网站后继续安装WP Downgrade

    安装WP Downgrade插件

    安装WP Downgrade插件

    然后,导航到设置 > WP Downgrade并在相关字段中输入您的WordPress目标版本:

    设置WordPress目标版本

    设置WordPress目标版本

    单击Save Changes,然后转到更新屏幕。您会看到您的目标版本现在被列为“最新版本的WordPress”:

    重新安装WordPress 5.0

    重新安装WordPress 5.0

    单击立即重新安装按钮以完成降级。WordPress似乎会运行正常更新,然后您应该会看到目标版本的欢迎消息:

    WordPress 5.0欢迎信息

    WordPress 5.0欢迎信息

    完成故障排除后,要重新安装最新版本的WordPress,您需要返回Settings > WP Downgrade。您可以将目标版本更改回最新更新,然后重复上述过程。

    3.恢复以前的备份以撤消对您网站的更改

    另一种降级站点的方法是从站点运行早期版本的WordPress时恢复备份。当然,为了使其正常工作,您需要有一个可靠的备份系统 。

    您还需要确保正在恢复的站点副本没有丢失最近添加的任何关键内容。您不想在尝试降级 WordPress 时无意中丢失最新帖子。如果您的网站是高度动态的,那么这可能不是最佳选择。

    如果您选择继续,恢复备份的过程将根据您用于创建和存储文件的系统而有所不同。例如,宝塔客户可以利用我们的一键恢复过程。只需登录您的宝塔控制面板即可开始使用,然后单击数据库,找到网站对应数据库的备份栏,点击有备份,在弹窗中选择需要恢复的数据库即可:

    宝塔数据库恢复

    宝塔数据库恢复

    要恢复网站文件,则可以点击网站,在列表中选择您需要恢复备份的网站,点击备份栏下的有备份,下载备份覆盖现有的网站目录,您也可以直接在宝塔的文件直接恢复覆盖网站文件目录。

    宝塔网站文件恢复

    宝塔网站文件恢复

    注:如果你使用宝塔管理服务器,建议设置定时任务对网站文件及数据库进行定期备份。

    4. 手动降级插件或主题

    如果您需要降级插件或主题而不是WordPress核心,您可以使用类似于方法#1中的过程手动执行此操作。要开始使用,您需要检索要降级的旧版本插件或主题的文件。

    对于WordPress目录中的插件,您可以通过单击功能页面上的高级视图来找到旧版本:

    WordPress目录中插件页面上的高级视图链接

    WordPress目录中插件页面上的高级视图链接

    滚动到页面底部,然后从下拉菜单中选择您需要的版本并点击下载

    通过WordPress插件目录下载以前版本的插件

    通过WordPress插件目录下载以前版本的插件

    解压缩文件并将其保存到您的计算机。然后备份您的站点以防万一出现问题,并使用FTP和您的首选客户端连接到您的服务器。在那里,导航到wp-content > plugins

    接下来,您需要重命名插件现有版本的目录。然后上传您希望降级到的先前版本的文件夹:

    通过FTP上传旧版本的插件

    通过FTP上传旧版本的插件

    这应该会成功恢复您需要的旧版本的插件。此外,您可以轻松获取最新版本,以便在准备好时切换回它。

    不幸的是,这种方法对于主题和高级插件变得更加棘手。回滚它们的过程或多或少是相同的,但WordPress主题目录没有可供下载的早期版本。

    至于高级插件,以前的版本可能很容易访问,也可能不容易访问。如果您找不到所需的插件或主题版本,最好的办法是尝试联系开发人员寻求帮助。

    5. 使用WP Rollback回滚插件和主题更新

    幸运的是,有一种 更简单的方法可以降级插件和主题。您需要做的就是安装并激活WP Rollback

    安装WP Rollback插件

    安装WP Rollback插件

    该插件会定期更新,并在WordPress插件目录中获得令人印象深刻的五星级评级。一旦它启动并运行,导航到您的插件列表。

    现在,您将 在每个插件的标题下看到一个Rollback按钮,以及标准选项:

    启用回滚选项

    启用回滚选项

    如果单击此新选项,您将被重定向到可以选择目标版本的页面。然后选择Rollback按钮开始降级过程:

    选择插件回滚目标版本

    选择插件回滚目标版本

    回滚主题同样容易。导航到仪表板中的外观 > 主题 ,然后选择要降级的主题。现在在窗口底部会有一个Rollback按钮:

    回滚WordPress主题

    回滚WordPress主题

    在以下屏幕上,您可以选择目标版本并启动降级过程,就像您对插件一样。当您需要恢复相关插件或主题时,您可以从相关目录执行此操作。

    6. 恢复到旧版本的PHP

    2019年,WordPress对其PHP要求进行了一些更改。出于这个原因,以及使用最新版本的诸多好处,始终建议升级您网站的PHP。

    但是,一些没有得到很好维护的旧插件可能与新版本的PHP不兼容。理想情况下,您将始终使用从开发人员那里获得定期更新和支持的工具。

    但是,如果您有一个对网站功能至关重要的过时插件,但不能与最新版本的PHP一起使用,您可以执行降级。使用宝塔管理服务器的优势在于能够直接从他们的宝塔仪表板轻松切换PHP版本。

    为此,请登录您的宝塔管理后台。导航到软件商店,搜索php,然后安装您需要的PHP版本:

    宝塔安装PHP版本

    宝塔安装PHP版本

    然后点击网站,找到需要切换PHP版本的网站对应的操作“设置”,在弹窗中选择“PHP版本”,然后在PHP版本选择您所需要的版本,点击“切换”即可。

    切换网站PHP版本

    切换网站PHP版本

    如果您不是宝塔用户,或者您需要安装比通过PHP引擎功能提供的版本更早的版本的PHP,则需要使用命令行降级PHP

    这个过程更先进,风险也更大。在这种情况下,最好考虑立即更换有问题的插件或主题,而不是降级PHP并尝试进一步解决冲突。

    小结

    在对站点进行故障排除或执行其他关键任务时,有时需要降级WordPress 。虽然没有实现此目标的本机功能,但有多种方法可以恢复到您网站的先前版本。

    这篇博文涵盖了六种不同的方式来降级您的WordPress网站及主题、插件、PHP版本等:

    1. 手动降级您的WordPress网站。
    2. 使用WP Downgrade运行以前版本的WordPress。
    3. 恢复以前的备份以撤消对您网站的更改。
    4. 手动降级插件或主题。
    5. 使用WP Rollback进行回滚插件和主题更新。
    6. 恢复到旧版本的PHP。
  • 如何将PHP代码添加到WordPress文章或页面

    如何将PHP代码添加到WordPress文章或页面

    想知道如何在WordPress文章或页面上运行PHP代码?你来对地方了。在这里,我们将揭示如何将PHP添加到WordPress页面或文章中,以便您改进它们的功能。

    将PHP代码添加到WordPress文章或页面的原因

    默认情况下,WordPress不允许您在文章或页面中运行PHP代码。添加PHP函数的推荐方法是修改子主题或创建自定义页面模板。

    尽管如此,在某些情况下,您可能希望将特定的PHP函数添加到单个文章或页面。在这些情况下,您可以使用WordPress代码小工具插件覆盖规则。

    以下教程将指导您完成使用Insert PHP Code Snippet插件将PHP代码直接添加到WordPress文章或页面的过程。

    如何使用插件将PHP代码添加到WordPress文章或页面

    在深入学习本教程之前,请确保您已安装并激活Insert PHP Code Snippet插件。

    1. 从您的WordPress仪表板,导航到XYZ PHP Code -> PHPCode Snippets

    2. 在PHP Code Snippets页面中,单击Add New PHP Code Snippet。将所需的 PHP 函数及其跟踪名称添加到指定的框中。在此示例中,我们将添加返回本地日期和时间的date()函数。然后,单击Create

    编辑PHP代码

    3. 如果该过程成功,屏幕上将出现一条确认消息和新功能。为将来使用,请通过检查“Action”部分确保您要使用的所有PHP函数都处于活动状态。活动的代码片段将显示一个绿色的暂停符号,而非活动的代码片段旁边将有一个绿色的复选标记。

    激活PHP代码

    4. 要将PHP代码添加到WordPress文章或页面,请将要使用的函数的片段短代码粘贴到所需位置。如果您使用的是Gutenberg区块编辑器,请使用简码代码区块来显示它。

    短码插入PHP代码

    5. 就是这样!您新创建的文章应执行PHP代码,如下例所示:

    PHP代码执行演示

    小结

    仅仅因为WordPress不允许您在文章或页面中运行 PHP 代码,这样做并非不可能。使用WordPress代码小工具插件,您可以轻松地将各种PHP函数添加到您的文章或页面中。

  • 如何在Linux、macOS、Windows服务器上安装PHP

    如何在Linux、macOS、Windows服务器上安装PHP

    建立一个服务器可能是一项艰巨的任务,特别是在安装像PHP这样的语言时。如果你想让一个WordPress测试服务器运行起来,这是一个必须要学习的技能。

    不知道从哪里开始在你的服务器上安装PHP?根据你独特的设置,有很多方法可以做到这一点。在哪里下载 PHP,哪个版本,需要什么来使它工作,以及如何在不同的操作系统上安装 PHP?

    我们将在这个一站式的 PHP 安装指南中回答所有这些问题。

    1. 什么是PHP?
    2. PHP的先决条件
    3. 如何在Linux上安装PHP
    4. 如何在Windows上安装PHP
    5. 如何在macOS上安装PHP
    6. 所有关于PHP的扩展

    什么是PHP?

    PHP logo

    PHP logo

    PHP是一种开源的脚本语言,主要用于Web开发和服务器端(后端)脚本。简单地说。

    • PHP可以安装在服务器上运行脚本(例如在网站上添加表单的代码片段)。
    • 它是在服务器端而不是客户端运行的,所以它在后台而不是在浏览器中工作。
    • 它与HTML很好地结合在一起,使它非常适用于网络开发。

    它也是最容易学习的网络脚本语言之一,使它成为初学者的热门选择。但它也相当强大,适合于高级网站功能。

    许多网站和工具都使用PHP和它的许多扩展(.NET、Apache和MySQL可能听起来很熟悉)。 WordPress主要建立在PHP上,它的大多数插件和主题也在PHP上运行。

    你的服务器需要PHP吗?

    那么你知道什么是PHP,但为什么你要在你的服务器上安装它?

    最明显的原因是,它是让WordPress启动和运行的必要条件,因为它几乎完全建立在PHP上。PHP也为大多数WordPress的功能、钩子、主题和插件提供动力。

    你可以在这里看到所有其他的WordPress系统要求

    WordPress要求

    WordPress要求

    所以,如果你想运行一个WordPress测试服务器来玩玩,或者建立一个暂存网站,你就需要安装PHP。

    除此之外,PHP对初学者来说是一个很好的启动点。与其他网络脚本语言相比,它使用起来很简单,但这并不以牺牲功能为代价。如果你足够熟练,你可以用它做各种各样的事情。

    PHP也相当流行。因此,你可以在网上找到大量的扩展和资源。

    除此之外,如果你想学习WordPress主题和插件的编码,你就需要学习PHP。建立一个测试服务器是一个很好的实验方法。

    请注意,许多虚拟主机服务器都预装了PHP和WordPress。

    你需要手动操作的唯一原因是,如果你要从头开始建立一个服务器,无论是在你的本地电脑上还是在一个没有管理的托管环境中。

    这就是说,让我们进入服务器设置说明。

    PHP的先决条件

    在安装 PHP 之前,你需要确保你的服务器能够处理它。幸运的是,这些要求是相当基本的,而且很多软件可能已经安装在你的电脑上了。

    如果你以前没有创建过服务器,你应该看看这个指南,在多个操作系统上建立一个本地服务器。具体的细节因你的操作系统而异,但你应该知道如何使用命令行并准备好安装新的软件。

    无论在什么操作系统上安装 PHP,都需要一个 web 服务器来运行它。还可能需要安装一个像 MySQL 这样的数据库,所以要记住这一点。

    下面是每个操作系统的 PHP 先决条件,从 Linux 开始。

    • 一个 ANSI C 编译器。
    • 特定模块的组件,如 GD 图形库或 PDF 库。
    • 可选的:Autoconf 2.59+(适用于PHP版本<7.0),Autoconf 2.64+(适用于PHP版本>7.2),Automake 1.4+,Libtool 1.4+,re2c 0.13.4+,和Bison。

    你也应该已经熟悉浏览过类似 Unix 的操作系统了。

    现在是对 Windows 的 PHP 要求。

    • 在 PHP 5.5+ 上支持多种 Windows 操作系统,但 7.2.0+ 用户不能使用 Windows 2008 或 Windows Vista。
    • Visual C Runtime(CRT)。
    • Visual Studio 2012, 2015, 2017, 或Microsoft Visual C++ Redistributable for Visual Studio 2019,取决于你的PHP版本。

    最后,macOS没有先决条件,因为PHP是与系统捆绑的。我们将在下面解释如何启用它。

    在哪里下载PHP

    如果你需要手动下载PHP文件,你应该从官方网站的PHP下载页面获取。

    避免从第三方网站安装,除非你知道它们是安全的,因为从第三方网站下载文件可能导致意外地安装恶意软件

    PHP下载页面

    PHP下载页面

    如果是为 Windows 机器下载,请在每个版本的 PHP 中寻找 “Windows 下载 “链接,并确保安装的是正确的文件。

    你也可以安装旧版本的 PHP,但除非你知道自己在做什么,否则不建议这样做,因为它们会使你的服务器暴露在错误和重大的安全缺陷中。

    如果你运行的是Linux发行版,通常不需要通过网站获取文件,应该使用命令行。我们将在下面详细介绍。

    我应该使用哪个PHP版本?

    如果你点击了上面的下载链接,你很可能看着所有这些文件而感到不知所措。哪个PHP版本是正确的?

    一般来说,如果你要开始一个全新的项目,兼容性问题不是问题,你应该得到最新的稳定版本的 PHP。

    有时也可以下载测试版的 PHP,这些版本甚至更新,但这些版本通常都有错误,而且只是为了帮助开发人员收集反馈意见而发布的。大多数情况下,应该坚持使用稳定版本。

    那旧版本呢?每个 PHP 版本都有新的功能,但这意味着与旧的功能有新的不兼容之处。如果你需要做一些最新的 PHP 版本不支持的特定事情,你可以使用旧版本,但你应该只坚持使用目前支持的版本

    如果你不确定,那就使用最新版本的PHP。

    请注意,WordPress只与某些版本的PHP兼容。它在技术上支持从5.6.20以上的PHP版本,但这些版本已经相当老了,因此不推荐。7.4和8.0版本是目前对WordPress支持最好的版本。

    PHP版本8也是兼容的,但目前,这是很新的,并不是所有的插件都能正常工作。如果你担心兼容性问题,坚持使用PHP7.4版本。你可以阅读我们的PHP基准帖,看看各种PHP CMS和框架在不同PHP版本上的表现。

    如何在Linux上安装PHP

    在开始之前,你应该熟悉终端和如何操作一般的类Unix操作系统。一般来说,这些命令行代码应该适用于任何在终端中使用正常语法的Linux发行版,但我们在下面为特定的操作系统留下一些说明。

    首先,你应该确保你的软件包是最新的,所以在终端运行这个Linux命令

    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get update && sudo apt-get upgrade

    现在你准备好安装 PHP 了。这样做的命令毫不费力,直截了当。

    sudo apt-get install php
    sudo apt-get install php
    sudo apt-get install php

    通过终端安装PHP

    通过终端安装PHP

    这将安装最新版本的 PHP 和几个扩展。你可以用这段代码看看你有哪个版本。

    php –v
    php –v
    php –v

    如果想安装特定版本的 PHP,比如 PHP 7.4,怎么办?你需要使用 Ondřej Surý 的 PPA,即个人软件包存档。这是一个安全的方法来安装支持的旧版本的PHP。一次性运行这三个命令:

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update
    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update

    现在系统会识别存档,并可以安装 PHP 7.4。键入以下命令:

    sudo apt install php7.4
    sudo apt install php7.4
    sudo apt install php7.4

    当然,你可以用你想要的任何 PHP 版本来代替这个数字。

    这涵盖了基本的内容,但如果你在配置方面需要额外的帮助,Unix 下的 PHP 安装文档可以帮助你。

    在Ubuntu上安装PHP

    对于Ubuntu用户来说,只要你遵循上面的指南,就没有太多的具体问题。Ubuntu是最流行的发行版之一,所以大多数Linux指南实际上是为该系统制作的。

    你可以选择的一个替代方案是下载一个LAMP堆栈。LAMP是指Linux、Apache、MySQL和PHP。它本质上是一个包含所有你需要的软件的捆绑包,以获得一个服务器的启动和运行。

    虽然你可以分别手动下载这些工具,但你可以得到Taskel,这是一个可以一次性安装所有这些工具的软件包。只要在终端中连续运行这两个命令:

    sudo apt install tasksel
    sudo tasksel install lamp-server
    sudo apt install tasksel
    sudo tasksel install lamp-server
    sudo apt install tasksel
    sudo tasksel install lamp-server

    通过终端安装LAMP堆栈与Taskel

    通过终端安装LAMP堆栈与Taskel

    在CentOS 7上安装PHP

    这个操作系统与其他Linux发行版有一点不同。在CentOS上,apt和apt-get命令不是安装软件的理想方式。相反,它使用yum,Yellowdog Updater Modified,一个更好的基于RHEL的操作系统的软件包管理器。

    否则,你需要使用的命令是非常相似的。要更新你的软件包,请运行这个命令来代替:

    sudo yum install epel-release && sudo yum update
    sudo yum install epel-release && sudo yum update
    sudo yum install epel-release && sudo yum update

    至于其他命令,通常可以用yum代替 apt-get 。要安装PHP,使用这个命令。

    sudo yum install php
    sudo yum install php
    sudo yum install php

    诸如 php –v 等PHP命令在CentOS 7上应该是一样的,所以你不需要担心这个问题。

    在Debian上安装PHP

    类似Unix的操作系统的最后一个是Debian。这次只是有一些小问题,但上面列出的大多数命令应该都能正常工作。

    对于Debian,你可以在终端命令中使用 apt-get 或 aptitude 。 aptitude 命令更全面一些,并提供一个菜单界面。至于你使用哪一个,则取决于个人的喜好,任何一个都可以完成工作。

    因此,你可以不使用通常的 apt-get 命令,而是运行这个命令:

    sudo aptitude install php
    sudo aptitude install php
    sudo aptitude install php

    Debian可能很挑剔。如果你发现PHP不能解析或者扩展程序不能工作,请确保你已经更新了服务器的网络配置文件,并且正在加载扩展程序ini文件。

    除了一些小事情,Debian的说明与其他Linux发行版的说明几乎是一样的。

    如何在Windows上安装PHP

    如果你使用的是 Windows 系统,与 macOS 和 Linux 不同,你不需要通过命令行来安装 PHP(尽管如果你愿意,这也是一个选项)。

    从这里安装 PHP 的一个简单方法是启用 IIS,然后用 WebPI 来安装 PHP。启动 WebPI 后,你可以在Products标签下找到它。在你想要的版本上点击Add,然后点击Install

    启用Windows的IIS

    启用Windows的IIS

    你也可以下载 PHP for Windows手动配置它与 IIS 一起工作。如果你使用 IIS,请确保得到一个非线程安全的版本。

    如果这一切都太复杂,你可以安装WampServerXAMPP,因为它们包含了你开始使用Web服务器所需要的一切。Apache,一个数据库,当然还有PHP。

    这些说明将适用于大多数现代Windows操作系统,如Windows 10、7和Vista。如果你使用的是旧版本的Windows,你应该看看传统的Windows安装文档。

    Windows 可能需要一些额外的配置来使 PHP 正常工作,所以一定要查看推荐的 Windows 配置文档。你只需要做一些小的ini调整。

    如何在macOS上安装PHP

    大多数 macOS 系统都预装了 PHP,所以通常不需要手动安装。

    你所需要做的就是取消对 Apache 配置文件 httpd.conf 中几行代码的注释,你通常可以在 /private/etc/apache2/httpd.conf 中找到。取消这两行的注释,去掉hashtag符号:

    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c
    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c
    # LoadModule php5_module libexec/httpd/libphp5.so
    # AddModule mod_php5.c

    如果你不喜欢某些文件设置的默认值,你可能需要做额外的配置。否则,找到DocumentRoot,然后用这个代码创建并加载一个PHP文件:

    <?php phpinfo(); ?>
    <?php phpinfo(); ?>
    <?php phpinfo(); ?>

    你可以随时用  php –v  命令检查 PHP 的版本,以确保 PHP 被正确安装。

    如果确实需要手动下载 PHP,那么应该安装 Homebrew 并使用这个简单的命令:

    brew install php
    brew install php
    brew install php

    关于PHP扩展的一切

    一旦你已经有了PHP并开始运行,考虑一下扩展是个好主意。这些编译过的库可以增加各种额外的、有用的功能。可以把它们看作是在 PHP 已经提供的功能上增加的插件。其中一些是运行PHP框架所需要的,比如LaravelSymfony

    虽然你完全可以自己编写所有的代码而不去碰扩展,但如果有广泛使用的捷径来使你的生活更容易,就没有理由自己去做。

    PHP已经有了几十个内置的扩展,其中有些必须手动启用,有些可以马上开始使用。你也可以通过像 PECL 这样的网站来安装 PHP 扩展,它承载了数百个第三方软件包。

    PHP手册中也提供了许多扩展的文档,所以你可以掌握使用它们的方法。

    不知道从哪里开始?下面是一些流行的PHP扩展的一小部分:

    • Apache:Apache是WordPress推荐的一个广泛使用的Web服务器软件,因为它与WordPress和PHP的兼容性很好。Apache与PHP捆绑在一起,所以你不需要手动安装它。
    • .NET:.NET是一个流行的软件框架,你可以用它来构建网络应用程序等。它可以与多种语言一起使用,包括PHP。你可能还对PeachPie感兴趣,它允许你在.NET中运行PHP代码。
    • MySQLi:作为旧的MySQL扩展的更好版本,MySQLi使你能够与MySQL数据库软件一起工作。这个是帮助你建立数据库的必备工具。

    每当你安装一个扩展时,你需要取消对它的注释。只要打开php.ini,删除 extension=extensionname 前面的分号 (;)。

    如果你想使你的代码标准化并使用预制库进行构建,你也应该看看这些PHP框架。它们是开始用PHP开发Web应用的一个好方法。

    小结

    不管你使用的是什么操作系统,安装PHP并不是一个多么困难的过程。如果你想做一个WordPress的测试服务器,你会需要它。有抱负的PHP程序员会发现建立一个Web服务器并在其上安装PHP是一个很好的练习。

    确保你通过命令行或从其官方网站下载PHP。你可以得到最新的稳定版本的PHP,也可以得到与WordPress兼容的任何其他版本。

  • 如何解决WordPress内存限制错误(2种方法)

    错误类型:
    WP内部错误
    错误名称:
    WordPress内存限制错误
    英文名称:
    WordPress Memory Limit Error
    错误描述:
    其实这是我们遇到最常见的问题之一– WordPress内存限制错误。这也可以称为“ PHP内存限制错误”。

    How-to-Resolve-WordPress-Memory-Limit-Error-1024x512-1

    使用诸如WordPress之类的开源平台既有优点也有缺点。它既灵活又可无限扩展,但还要求你对PHP、Linux及Mysql等有一定的了解。在执行故障排除和解决在使用平台时通常会出现的一些错误时,这尤其重要。

    打个比方,你被告知达到站点的“PHP内存限制”。很多时候这对于小白用户来说,遇到这种情况只能够手足无措,尤其是因为您不知道是什么原因导致了该问题或如何解决它。其实,此问题是最简单的问题之一,即使对于相对WordPress小白用户,也应该可以解决。

    下面我们将解释什么是WordPress内存限制错误,它为什么会在你的WordPress网站上发生,及修复此错误的选项。

    1. WordPress内存限制错误概述
    2. WordPress内存限制错误产生的原因
    3. 如何解决WordPress内存限制错误(2种方法)

    WordPress内存限制错误简介

    WordPress已经是一个非常成熟与稳定的开源平台,但“世界无完美之物”,也难以避免错误。你可能会遇到许多常见问题,例如臭名昭​​著的“ 死亡白屏 ”或处于“维护模式”的网站。

    不过,大多数WordPress错误并不难解决和修复。尽管如此,它们可能会对小白站长造成威胁,特别是因为他们完全不知道有关发生了什么问题以及如何解决问题的任何信息。

    其实这是我们遇到最常见的问题之一– WordPress内存限制错误。这也可以称为“ PHP内存限制错误”,一般你会看到如下类似的提示信息:

    fatal error: allowed memory size of 67108864 bytes exhausted

    该错误可能在许多不同的情况下发生。但是,最有可能发生在您对网站执行特定类型的操作时,例如:

    • 安装并启用新主题或插件。
    • 上传图像和其他媒体到网站。

    如果您在WordPress网站上遇到此错误,请不要担心。它背后的原因很简单–我们一起来了解它为什么产生,就能很好的解决了。

    WordPress内存限制错误产生的原因

    报错信息中的“内存限制”即错误之根源。就像其他任何东西一样,您的网站需要一定数量的内存才能存储其所有数据。这包括其数据库和文件,您的所有内容,由插件和主题添加的代码等等。

    此内存由服务器提供。购买服务器主机时,将为您的网站分配一定数量的资源,包括用于存储网站及网站运行稳定的内存。

    当然,购买昂贵的服务器主机一般情况下可为您的网站提供更多的空间和内存。但,对于小站长来说,都是从基本服务器套餐开始的,这不一定是一个问题。但是,这确实可能因你的服务器分配的内存不足导致内存限制错误。

    随着站点的扩大或开始使用更复杂的插件和脚本,最终可能会达到内存限制。

    当WordPress的某些工作导致较多内存占用时,就可能会出现PHP内存限制错误,无法完成您尝试执行的操作。

    如何检查当前的PHP内存限制

    如果你运行的是WordPress 5.2或更高版本,则可以使用“站点健康”工具检查网站上当前的PHP内存限制。在WordPress仪表板中,转到“工具”→“站点健康”→“信息”,然后向下滚动到服务器部分。在这里,您可以看到服务器上的PHP内存限制。

    检查PHP内存限制

    检查PHP内存限制

    如果可用内存很少(例如32M),那么:您需要增加分配给站点的内存量。下面我们将介绍两种不同的方法,以解决此问题。

    如何解决WordPress内存限制错误(2种方法)

    与许多常见错误不同,WordPress内存限制问题很容易解决。

    当网站达到PHP内存限制时,实际上只有两种解决办法。可以增加分配给站点的内存量,也可以选择升级服务器。让我们探讨一下何时以及如何使用这两种方法。

    选项1:增加分配给您网站的PHP内存

    这看似简单,但有时显而易见的解决方案是最佳解决方案。如果您的站点内存不足,那么最简单的方法就是增加它可以访问的内存量。

    显然,您可以增加限制的范围取决于你的网站所在服务器的内存容量。在下一节中,我们将详细讨论这一方面。但是,您的站点使用的内存少于实际可用的内存并不少见。

    您网站的当前内存限制是在其wp-config.php文件中设置的,该限制可能匹配或可能不匹配提供商所允许的限制。因此,第一步是尝试通过编辑文件来增加PHP的内存限制。

    使用FTP客户端访问站点的文件

    增加站点的内存限制将需要使用安全文件传输协议(SFTP)直接登录到站点。如果您从未执行过此操作,则首先需要安装SFTP客户端 -建议选择FileZilla,免费且相对容易上手:

    FileZilla-home

    FileZilla

    查找wp-config.php文件

    设置并连接FileZilla之后,您应该在与以下类似的界面上查看:

    FileZilla访问服务器

    FileZilla访问服务器

    在界面右上区域中,你将看到包含站点文件的文件夹列表。查找站点的“根”文件夹,该文件夹通常以站点的域名命名,或称为public_htmlwww。打开此文件夹,然后查找名为wp-config.php的文件:

    wp-config.php文件

    wp-config.php文件

    此文件存储有关网站数据库和设置等信息。因此,请务必不要更改除我们将要查看的特定代码行以外的任何内容。实际上,在继续进行任何操作之前,最好对网站进行备份,以防您意外删除或更改了重要内容。

    增加站点的内存限制

    备份到位后,继续打开wp-config.php文件。它看起来应该像这样:

    wp-config.php文件示例

    wp-config.php文件示例

    然后,在文件中查找以下行:

    define( 'WP_MEMORY_LIMIT', '256M' );

    请注意,该文件中的数字可能有所不同,因为它代表站点的当前内存限制。甚至你还有可能找不到此行。

    如果找到该行,尝试将数值调至更高。在大多数情况下,256MB应该足够,当然如果你当前设置256MB还是不够,可以尝试逐步增加。如果找不到该行,则可以将上面的代码粘贴在:“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”的前一行。

    然后,更改保存到wp-config.php文件,然后关闭FileZilla。打开您的站点,然后尝试重复首次遇到WordPress内存限制错误时所执行的操作。如果不再出现,则说明问题已解决。

    如果仍然遇到错误,则可以尝试打开wp-config.php文件并进一步增加内存限制。但是,如果您尝试几次但不起作用,则可能已达到托管服务提供商允许的最大限制。在这种情况下,您需要尝试其他方法。

    但是,在进行下一步之前,值得注意的是,某些主机可能不允许您通过FTP客户端访问站点。在这种情况下,您通常可以通过其他方式(例如,使用cPanel)手动更改内存限制。

    又或者使用宝塔面板的站长,完成上述操作就更简单了,登录你的宝塔面板,点击文件-进入网站对应的根目录,找到wp-config.php文件,点击编辑保存即可。

    宝塔面板

    宝塔面板

    选项2:升级服务器

    每种类型的主机将提供特定数量的资源。但是,有时候,这些资源可能对于您的网站而言会变得不足。

    如果您尝试过如上所述那样增加站点的内存限制,但是没有起作用,第一步应该去确定网站当前所使用的服务器提供的内存容量。一般情况下你可以通过服务器提供商提供的网站后台可以查看到,又或者直接与之联系获取相关信息。

    如果您已达到站点的最大内存限制,并且还是存在WordPress内存限制错误,则唯一的选择就是升级服务器配置了。

    对于那些刚开始时考虑性价比而使用共享主机的站长们,可能是时候升级到独立VPS主机了,后者将会提供了更多的空间和资源。

    如果考虑国外云主机,小编推荐:

    Linode -特别推荐,这也是我们经常使用的国外服务器提供商。 Linode 可选的数据中心比较多,全球有11个数据中心,其中亚洲两个:孟买1个,新加坡1个,日本1个,悉尼1个;北美5个,全部在美国;欧洲2个:德国法兰克福1个、英国伦敦1个。

    此外,Linode 的价格也非常低,提供最低5美金/月,但配置毫不含糊:1GB 内存、1个 CPU、20GB 的固态硬盘存储空间、1TB 流量、40GB 的入口带宽和1000GB 的出口带宽。这个配置对于搭建 Shadowsocks 服务来说,足矣。

    Linode服务器价格表

    Linode服务器价格表

    Vultr –这个服务商的服务器,也是非常靠谱的海外服务器。在数据中心方面,甚至比 Linode 还要多,全球共17个数据中心,其中北美有9个(西雅图 Seattle、硅谷 Silicon Valley、洛杉矶 Los Angeles、达拉斯 Dallas、芝加哥 Chicago、新泽西 New Jersey、亚特大 Atlanta 和 迈阿密 Miami;加拿大多伦多);欧洲4个(伦敦 London、阿姆斯特丹 Amsterdam、法兰克福 Frankfurt 和 巴黎 Paris);亚洲四个(日本东京、韩国首尔、新加坡和澳洲悉尼)。

    在价格上,Vultr 甚至要比 Linode 还要有优势,最低的套餐去到逆天的 2.5美金/月,当然配置会稍微比 Linode 的 5美金/月套餐稍微差一些,20GB的固态硬盘、1CPU、512MB内存和500GB 的流量。

    相对于 Linode,Vultr 还有个便利性,就是后者支持 PayPal 和 比特币,前者则需要使用信用卡。

    Vultr服务器价格表

    Vultr服务器价格表

    如果是国内服务器提供商,这就没什么好推荐的了,无非就是阿里云、腾讯云之类的。注:我们一般采用的是阿里云。

    小结

    WordPress网站上遇到错误可能会令人沮丧,尤其是如果对这个错误没有掌握太多信息时。幸运的是,WordPress内存限制错误比大多数错误更容易解决。你只要知道问题所在,并且从问题的起源点着手解决,就非常容易解决了。

    在处理PHP内存限制问题时,主要有两个选择:

    1. 使用SFTP客户端或类似工具手动增加站点的内存限制。
    2. 升级提供更多内容可使用的服务器主机。

    如果你有关于如何处理此特定错误有任何疑问,不妨留言与大家一起探讨!

  • 如何修复WordPress致命错误:超出最大执行时间

    错误类型:
    PHP错误
    错误名称:
    最大执行时间错误
    英文名称:
    maximum execution time exceeded
    错误描述:
    最大执行时间错误是最常见的WordPress错误之一。当您尝试更新WordPress插件或主题时,它可能会出现。

    超出最大执行时间错误修复

    定期更新您的插件和主题对于保持您的网站满负荷运行是必要的。但是,致命的WordPress错误“maximum execution time exceeded”,即超出最大执行时间可能会阻止更新并让您担心网站的性能。

    幸运的是,您可以使用以下几种方法来修复此错误或增加最长执行时间:您可以卸载问题软件、使用插件或直接编辑您网站的代码,以立即解决问题。

    在本教程中,我们将了解WordPress最长执行时间错误是什么以及它发生的原因。然后,我们将向您介绍六种方法,您可以使用这些方法来解决问题并让您的网站平稳运行:

    1. 卸载问题软件
    2. 使用插件
    3. 调整wp-config.php文件
    4. 更新php.ini文件
    5. 编辑.htaccess文件
    6. 联系服务器提供商

    什么是最大执行时间错误

    最大执行时间错误是最常见的WordPress错误之一。当您尝试更新WordPress插件或主题时,它可能会出现。

    无法执行您请求的更新

    它提醒您站点无法执行您请求的更新。

    发生此错误的原因是您网站上的PHP脚本。PHP是一种脚本语言,是WordPress网站的基础。它由控制网站功能并向用户显示不同元素的代码组成。因此,最大执行错误直接与PHP脚本运行所需的时间有关。

    PHP脚本具有最长的执行时间,以确保您的站点正常运行和安全。例如,如果没有限制,黑客或恶意软件可以使用永无止境的脚本来拆除您网站的服务器并使您的数据易受攻击。此外,长时间运行的PHP脚本可能会从您的服务器上转移资源。

    插件更有可能触发错误,因为它们带有大量来自外部来源的代码。WordPress是一个开源平台,因此任何开发人员都可以为其设计和上传插件。如果您安装来自鲜为人知的开发人员的内容,它可能带有有缺陷的代码并导致您网站的PHP脚本出现问题。

    主题和一般WordPress更新也可能导致问题。但是,这种情况不太常见。

    标准的最大执行时间是多少

    在大部分网站服务器,都默认设置了我们终端的最长执行时间。与大多数其他托管服务提供商一样,它的持续时间通常为30秒。这通常足以让大多数PHP脚本成功运行。如果您使用不同的托管服务提供商,您应该能够直接联系他们以了解您网站的最长执行时间是多少。

    但是,具有多个资源的大型网站可能需要稍长的最大执行时间。否则,他们可能无法在时钟用完之前完成他们的流程。

    此外,一些开发人员可能会使用超过300秒的非常长的执行时间。但是,由于我们之前讨论过的安全问题,我们不建议大多数网站使用此方法。

    如何确定错误是否发生

    通常很明显,最大执行时间错误已经发生,因为您会在WordPress仪表盘中看到一条通知。

    但它可能并不总是具有相同的措辞。例如,它可能读作“致命错误”或“严重错误”。通知也可能未引用最大执行时间。但是,所有警告都共享类似的组件,可以提醒您注意问题的根源。

    前端用户也可能会看到错误。如果他们在更新过程失败时访问该站点,他们可能会看到一条消息,告诉他们您的网站遇到技术问题。

    维基最大请求时间超时 但是,出现此错误消息不仅是因为已超出您的最大执行时间。因此,您需要检查它是否也显示在您的WordPress仪表盘中。

    最后,您可能会收到一封来自WordPress的电子邮件,提醒您已超出最大执行时间。发生这种情况是因为WordPress5.2更新,它引入了PHP错误保护,当您的站点的主题或插件出现问题时会自动通知您。因此,您几乎会立即知道您的更新存在问题。

    如何修复最大执行时间错误

    您可以使用几种不同的方法来消除最大执行时间错误或增加站点的最大执行时间。

    您可能首先要考虑直接编辑站点文件和添加新代码的舒适程度。如果此方法听起来超出您的技术能力,幸运的是还有其他选项可用。

    1. 卸载问题主题或插件

    修复最长执行时间错误的最简单方法之一是卸载导致问题的插件或主题。您的插件之一或您网站的主题可能是罪魁祸首,因此您可以从那里开始。

    如果您预感某个特定应用程序导致了问题,我们建议您使用此方法。例如,您最近可能添加了一个新插件或更新了一个旧插件。

    如果错误将您锁定在您的站点之外,您可以通过恢复模式访问仪表盘。如果您收到来自WordPress的关于更新失败的电子邮件,它通常包含一个指向恢复模式的链接,甚至可能会告诉您是哪个插件导致了问题。

    然后,导航到插件>已安装插件并单击相关项目下方的停用。单击删除以将其删除。

    如果您不知道是什么导致了最大执行时间超出错误,您可以停用所有插件并一一重新激活它们。每次刷新,看看能不能找到触发问题的那个。

    您可以使用安全文件传输协议 (SFTP) 来删除该插件。

    希望这将解决错误。如果没有,您可以继续使用以下方法。

    2.使用WP Maximum Execution Time Exceeded插件

    增加最大执行时间的最简单方法之一是使用WP Maximum Execution Time Exceeded插件。

    WP Maximum Execution Time Exceeded插件 此工具可让您在激活时将最大执行时间增加到300 秒(五分钟)。

    您可能更喜欢使用此方法而不是前一种方法,因为它可以在全局范围内增加您的最大执行时间。如果您想给功能性插件和主题更多的时间来完成它们的更新,这将是有益的。

    要使用该插件,您可以下载.zip 文件并前往您的WordPress仪表盘。导航到插件>安装插件并单击上传文件>选择文件

    上传安装插件 单击立即安装。安装插件后,选择激活插件以完成该过程。

    该插件会立即自动增加您网站的最长执行时间,因此您无需执行任何其他操作。如果您想删除它并恢复到原始设置,您可以前往插件>已安装的插件并单击禁用。

    禁用插件 这是针对最大执行时间超出错误的直接修复。但是,它不允许您选择自定义持续时间。如果这是您正在寻找的东西,您可能更喜欢使用以下更密集的方法之一。

    3. 通过wp-config.php增加最大执行时间

    您可以在站点的wp.​​config.php文件中增加最长执行时间。这是一个核心文件,其中包含有关您网站的许多重要信息。例如,它包含您网站的名称、主机名、登录用户名和密码。

    如果您想自定义最大执行时间,我们建议使用此方法。它使您能够将代码直接添加到WordPress目录文件中。此外,它相对快速且易于执行。

    在开始编辑文件之前,我们建议您备份整个WordPress网站。该wp-config.php文件是为您的网站必不可少的,所以你不想做一个关键的和不可逆转的错误。通过文件备份,您可以轻松恢复到原始设置。

    您可以通过SFTP应用程序并查找wp-config.php来找到该文件。右键单击它并选择Edit。

    或者,您可以单击“下载” 并使用“记事本”等简单的文本编辑器编辑文件。进入wp-config.php 文件后,滚动到底部并插入以下代码:

    set_time_limit(X);
    set_time_limit(X);
    set_time_limit(X);

    “X”表示以秒为单位的最大执行时间。例如,您可以将其替换为“300”,它将持续时间延长至五分钟。

    现在您可以保存文件了,您已经成功更改了最长执行时间!

    4.在php.ini中增加Maximum Execution Time

    您还可以通过创建新的php.ini 文件来增加最长执行时间。这是一个控制您的 PHP 设置的文档,例如资源限制、上传大小和文件超时。

    如果您使用WordPress等内容管理系统 (CMS),此方法可能是一个很好的选择。php.ini影响系统中的所有脚本,因此您不必单独编辑每个脚本。

    并非所有服务器都支持php.ini文件,因此您需要先检查以确保您的服务器支持。然后您可以使用此方法增加PHP执行时间。

    使用您的文本编辑器打开php.ini文件。接下来,您可以输入以下代码来更改最大执行时间:

    max_execution_time = 500
    max_execution_time = 500
    max_execution_time = 500

    这会将最大执行时间更改为500秒。然后你需要杀死现有的PHP进程来更新php.ini文件并使更改生效。

    5.增加.htaccess中的最大执行时间

    .htaccess文件是另一个地方,你可以调整最大的执行时间。此文件控制WordPress站点不同目录的更改。但是,并非所有服务器都使用它,它最常见于Apache服务器中

    如果您不想使用wp-config.php文件并且您的服务器不支持php.ini 文件,您可能更喜欢使用此方法。

    在开始之前,我们建议备份您的.htaccess文件。通过这样做,如果您犯了任何重大错误,您可以恢复它。只需复制一份并将其保存在计算机上的其他位置即可。

    然后使用您选择的SFTP编辑原始.htaccess 文件。您可以使用文本编辑器打开它。然后输入此代码以更改最大执行时间:

    php_value max_execution_time 300
    php_value max_execution_time 300
    php_value max_execution_time 300

    您可以将“300”替换为您喜欢的任何其他数字。最后,保存更改,文件会将它们应用到您的站点。

    6. 联系服务器提供商请求增加最大执行时间

    如果您不想自己更改站点的文件,您还有另一种选择。您可以直接联系您的托管服务提供商,他们可以代表您增加最长执行时间。

    如果您时间紧迫或技术技能有限,此方法可能是一个很好的选择。但是,根据您的托管服务提供商的不同,它可能会额外收费。

    需要解决您网站上的其他技术问题?下面是一些最常见的WordPress错误

    修复致命错误:超过最大执行时间

    WordPress中的最大执行时间超出错误会妨碍您更新插件和主题。虽然它发生时可能会令人沮丧,但有几种方法可以快速解决问题。

    您可以使用以下策略修复最长执行时间WordPress错误:

    1. 卸载问题项目。
    2. 使用WP Maximum Execution Time Exceeded等插件增加最大执行时间。
    3. 通过编辑wp-config.php 文件来调整最大执行时间。
    4. 在php.ini文件增加最大的执行时间。
    5. 编辑.htaccess文件以增加最大执行时间。
    6. 联系服务器提供商以获得技术支持。