致命错误 - 解析错误:语法错误,意外的":",预期 - WordPress



我需要你的帮助。我正在尝试安装ACF插件,并给我这个错误:

分析错误:语法错误,意外的":",应为";"或在第23行上的/home/htb/mysite/wp-content/plugins/acf中的"{">

这是第23行:

public static function pathToUrl(string $path): string {

这是代码:

<?php
namespace CastPlugin;

if (class_exists('CpUtil')) {
return;
}

class CpUtil
{
public static function startsWith($haystack, $needle)
{
return strncmp($haystack, $needle, strlen($needle)) === 0;
}
public static function contains($haystack, $needle)
{
return strpos($haystack, $needle) !== false;
}
public static function pathToUrl(string $path): string {
$ssl          = @$_SERVER['HTTPS'];
$serverName   = $_SERVER['SERVER_NAME'];
$documentRoot = $_SERVER['DOCUMENT_ROOT'];
$correctPath  = $path;
$uri          = str_replace($documentRoot, '', $correctPath);
$protocol = $ssl === 'on' ? 'https' : 'http';
return "$protocol://$serverName$uri";
}
}

知道怎么解决这个问题吗?谢谢。:(

您使用的ACF版本需要PHP 7.0+。您收到的错误消息表明您使用的是PHP 5.6或更高版本。你应该和你的托管提供商谈谈允许你升级到PHP的新版本。

这个错误是由PHP 7.0中引入的一种新的PHP方法声明语法引起的,该语法允许您声明您定义的方法将返回一个数组,您可以在这里阅读:http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type声明

如果你的托管提供商不升级你的PHP版本,我建议你找一个新的托管提供商。但是,如果同时需要ACF工作,可以转到存储库中ACF的高级页面,并在页面底部下载旧版本。

注意:这两种做法(使用过时的PHP版本和过时的插件(都可能对WordPress安装的长期健康有害。我建议您至少尽快使用PHP7.2,这将允许您使用最新版本的ACF。

相关内容

最新更新