Неустранимая ошибка - Ошибка разбора: синтаксическая ошибка, неожиданное ':', ожидание - Wordpress - PullRequest
0 голосов
/ 15 декабря 2018

Мне нужна твоя помощь.Я пытаюсь установить плагин ACF и выдаю мне эту ошибку:

Ошибка разбора: синтаксическая ошибка, неожиданный ':', ожидающий ';'или '{' в /home/htb/mysite/wp-content/plugins/acf-for-woocommerce/vendor/catsplugins/cp-core/src/common/class-cp-util.php в строке 23

Это строка 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";
    }
}

Есть идеи, как это решить?Спасибо.:)

1 Ответ

0 голосов
/ 15 декабря 2018

Версия ACF, которую вы используете, требует PHP 7.0+.Сообщение об ошибке, которое вы получаете, указывает на то, что вы используете PHP 5.6 или старше.Вам следует поговорить с вашим хостинг-провайдером о том, чтобы позволить вам перейти на более новую версию PHP.

Эта ошибка, в частности, вызвана новым синтаксисом объявления метода PHP, введенным в PHP 7.0, который позволяет вам объявить, что метод 'Переопределение вернет массив, о котором вы можете прочитать здесь: http://php.net/manual/en/functions.returning-values.php#functions.returning-values.type-declaration

Если ваш хостинг-провайдер не обновит вашу версию PHP, я предлагаю вам найти нового хостинг-провайдера.Но если вам нужен ACF для работы, вы можете перейти на страницу advanced для ACF в хранилище и загрузить старую версию внизу страницы.

Примечание . Обе эти практики (использование устаревшей версии PHP и использование устаревшего плагина) могут отрицательно сказаться на долговременной работоспособности вашей установки WordPress.Я бы порекомендовал перейти на PHP 7.2 как минимум, как только это станет возможным, что позволит вам использовать самую последнюю версию ACF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...