Неустранимая ошибка PHP: невозможно повторно объявить Aws \ manifest () (ранее объявлено) - PullRequest
0 голосов
/ 15 мая 2019

В настоящее время я работаю с Wordpress, PHP и Docker. Я пытаюсь интегрировать плагин s3-uploads . S3-uploads использует aws-sdk-php, который также используется другим подключением mu-plugins/send-me-nyc, которое создает конфликт между ними.

Когда я запускаю docker-wp s3-uploads verif, я получаю следующую ошибку

PHP Fatal error:  Cannot redeclare Aws\manifest() (previously declared in /var/www/html/vendor/aws/aws-sdk-php/src/functions.php:342) in /var/www/html/wp-content/mu-plugins/send-me-nyc/third-party/AWS/Aws/functions.php on line 320
Fatal error: Cannot redeclare Aws\manifest() (previously declared in /var/www/html/vendor/aws/aws-sdk-php/src/functions.php:342) in /var/www/html/wp-content/mu-plugins/send-me-nyc/third-party/AWS/Aws/functions.php on line 320

Таким образом, сообщения об ошибках Cannot redeclare Aws\manifest() могут быть решены решением, использующим ! Function_exist , как указано в связанном сообщении. Тем не менее, я считаю, что это неправильный способ решить эту проблему, так как это будет писать прямо в коде aws-sdk-php. Подобный патч был отклонен от администраторов aws-sdk-php, как показано в этом выпуске .

Как мне решить эту проблему?

AWS-СДК-PHP / composer.json:

{
    "name": "aws/aws-sdk-php",
    "homepage": "http://aws.amazon.com/sdkforphp",
    "description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
    "keywords": ["aws","amazon","sdk","s3","ec2","dynamodb","cloud","glacier"],
    "type": "library",
    "license": "Apache-2.0",
    "authors": [
        {
            "name": "Amazon Web Services",
            "homepage": "http://aws.amazon.com"
        }
    ],
    "support": {
        "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
        "issues": "https://github.com/aws/aws-sdk-php/issues"
    },
    "require": {
        "php": ">=5.5",
        "guzzlehttp/guzzle": "^5.3.3|^6.2.1",
        "guzzlehttp/psr7": "^1.4.1",
        "guzzlehttp/promises": "~1.0",
        "mtdowling/jmespath.php": "~2.2",
        "ext-pcre": "*",
        "ext-json": "*",
        "ext-simplexml": "*"
    },
...