Code Monkey home page Code Monkey logo

magento-cloud's Introduction

Magento 2.4.7 Magento Commerce Cloud

This repository contains a sample Magento Commerce (on-premise) version 2.4.7 instance for you to deploy in the cloud. You must have an active Magento Commerce Cloud user license to use the example in this repository.

The example requires the use of Composer to load and manage dependencies and Magento vendor folders.

Authentication

You must have an authentication key to access the Magento Commerce repository and to enable install and update commands for your Magento Commerce Cloud project. The following method is best to prevent accidental exposure of credentials, such as pushing an auth.json file to a public repository. If you plan to use Docker for your local development, then jump to the Authenticating in Docker section.

To add authentication keys using an environment variable:

  1. In the Project Web UI, click the configuration icon in the upper left corner.

  2. In the Configure Project view, click the Variables tab.

  3. Click Add Variable.

  4. In the Name field, enter env:COMPOSER_AUTH.

  5. In the Value field, add the following and replace <public-key> and <private-key> with your Magento Commerce Cloud authentication credentials.

    {
       "http-basic": {
          "repo.magento.com": {
          "username": "<public-key>",
          "password": "<private-key>"
        }
      }
    }
  6. Select Visible during build and deselect Visible at run.

  7. Click Add Variable.

See Adding Magento authentication keys.

Authenticating in Docker

You must have an auth.json file that contains your Magento Commerce authorization credentials in your Magento Commerce Cloud root directory.

  1. Using a text editor, create an auth.json file and save it in your Magento root directory.

  2. Replace and with your Magento Commerce authentication credentials.

    {
      "http-basic": {
        "repo.magento.com": {
          "username": "<public-key>",
          "password": "<private-key>"
        }
      }
    }
  3. Save your changes to auth.json file and exit the text editor.

To use Docker for local development, see Launching a Docker configuration.

Repository structure

The following is a list of the specific files required for this example to work in the Magento Commerce Cloud:

.magento/
        /routes.yaml
        /services.yaml
.magento.app.yaml
auth.json
composer.json
magento-vars.php
php.ini
  • .magento/routes.yaml—redirects www to the naked domain and php application to serve HTTP.
  • .magento/services.yaml—sets up a MySQL instance, including Redis and ElasticSearch.
  • composer.json—fetches the Magento Enterprise Edition and configuration scripts to prepare your application.

Developer documentation

See the Magento Commerce Cloud Guide.

License

Each Magento source file included in this distribution is licensed under the OSL-3.0 license.

Please see LICENSE.txt for the full text of the Open Software License v. 3.0 (OSL-3.0).

magento-cloud's People

Contributors

andriyshevtsov avatar arhiopterecs avatar bados avatar bbatsche avatar benjamin-volle avatar billygilbert avatar bwaters avatar damz avatar dsikkema-magento avatar guguss avatar hguthrie avatar jacobbrownaustin avatar joeshelton-wagento avatar kazanir avatar mazhalai avatar michaelcasey316 avatar mveeramneni avatar nadiyas avatar ngeron avatar oshmyheliuk avatar osrecio avatar ralt avatar ruslankostiv1 avatar shiftedreality avatar simensen avatar tomreece avatar vrann avatar ypyltiai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magento-cloud's Issues

Remove magento-cloud build command

magento-cloud build

This command has always been problematic due to people mistakenly thinking it was a necessary part of local setup. Running the command is quite detrimental to a local installation of a Magento Cloud project due to the symlinks and other changes. To this day, people continue to be roadblocked by it: https://magento.stackexchange.com/questions/364313/magento-cloud-local-installation-issues

Previously, the argument for keeping the command (which always did more harm than good, imho) was that the build process could be demonstrated or tested outside of a Cloud environment. Now that Magento Cloud Docker is available, magento-cloud build is a poor substitute for a better tool. It is vestigial and should be removed.

Composer.json for Magento 2.2 versions isn't in line with a normal Magento installation

Hi!

I don't know how important this is, but I'm reporting this for consistency's sake.

So, when I compare a composer.json file from Magento Open Source 2.1.x to 2.2.x when a project has been setup using composer create-project, I notice some changes being done to the composer.json file, which have not been applied to this project's composer.json file.
I know this project depends on those other Magento projects, but some of those composer.json changes only apply to the root project, so it doesn't matter if the required packages from this project have the new composer.json file, it's the root file which counts for some of the sections.

I'm talking about these sections:

  • config
  • autoload
  • minimum-stability
  • prefer-stable

Here is a diff between the composer.json file of a fresh Magento 2.1.12 and 2.2.5 project (minus the changes in the version, require or require-dev sections, since they are less relevant here):

--- magento21-test/composer.json	2018-07-20 18:31:52.000000000 +0200
+++ magento22-test/composer.json	2018-06-14 15:31:46.000000000 +0200
@@ -20,9 +20,6 @@
         "lusitanian/oauth": "~0.8.10",
         "sebastian/phpcpd": "2.0.4"
     },
-    "config": {
-        "use-include-path": true
-    },
     "autoload": {
         "psr-4": {
             "Magento\\Framework\\": "lib/internal/Magento/Framework/",
@@ -30,10 +27,17 @@
             "Magento\\": "app/code/Magento/"
         },
         "psr-0": {
-            "": "app/code/"
+            "": [
+                "app/code/"
+            ]
         },
         "files": [
             "app/etc/NonComposerComponentRegistration.php"
+        ],
+        "exclude-from-classmap": [
+            "**/dev/**",
+            "**/update/**",
+            "**/Test/**"
         ]
     },
     "autoload-dev": {
@@ -45,8 +49,7 @@
             "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
         }
     },
-    "minimum-stability": "alpha",
-    "prefer-stable": true,
+    "minimum-stability": "stable",
     "repositories": [
         {
             "type": "composer",

So the above changes are for Magento 2.2 projects.
But for 2.1 projects, there was also a slight change between 2.1.12 and 2.1.13 (also part of the diff above):

         "psr-0": {
-            "": "app/code/"
+            "": [
+                "app/code/"
+            ]
         },

Also there is no require-dev section, so people who want to run the default test suite of Magento have to add that manually, there is already a PR open here: #200

Again: I don't know how important all these changes are. The use-include-path probably not important, but setting the minimum-stability to stable is probably a good idea at least?

Some of these changes were done for performance improvements, see: magento/magento2@0b659d2

less strict string matching in magento-vars.php

The isHttpHost() function has very strict string matching. This requires a new block of code utilizing the function to be created for each new environment.

For example:

if (isHttpHost("www.examplea.com")) {
    $_SERVER["MAGE_RUN_CODE"] = "default";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("mcstaging.examplea.com")) {
    $_SERVER["MAGE_RUN_CODE"] = "default";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("examplea.branchname-zrgukpa-kolnt6awfmkyd.us-3.magentosite.cloud")) {
    $_SERVER["MAGE_RUN_CODE"] = "default";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("examplea.test")) {
    $_SERVER["MAGE_RUN_CODE"] = "default";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("www.exampleb.com")) {
    $_SERVER["MAGE_RUN_CODE"] = "storeb";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("mcstaging.exampleb.com")) {
    $_SERVER["MAGE_RUN_CODE"] = "storeb";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("exampleb.branchname-zrgukpa-kolnt6awfmkyd.us-3.magentosite.cloud")) {
    $_SERVER["MAGE_RUN_CODE"] = "storeb";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("exampleb.test")) {
    $_SERVER["MAGE_RUN_CODE"] = "storeb";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}

Also, the default function does not accommodate domain name differentiators that may occur at the end of the domain name. For example:

  • example.com
  • example.co.uk

I propose a more flexible string matching that would allow for one block of code to identify a store in all environments. For example:

if (isHttpHost("examplea")) {
    $_SERVER["MAGE_RUN_CODE"] = "default";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}
if (isHttpHost("exampleb")) {
    $_SERVER["MAGE_RUN_CODE"] = "storeb";
    $_SERVER["MAGE_RUN_TYPE"] = "store";
}

This is a better fit for Magento's dynamic system of hostname creation.

Personally, I always change the function to have more flexible string matching in my own projects. But, I notice that many people on Community Engineering Slack mistakenly assume that the function can't be changed. They rely on the function provided and are frustrated by it.

This is my own preference:

function isHttpHost($host)
{
    if (!isset($_SERVER['HTTP_HOST'])) {
        return false;
    }
    return strpos(str_replace('---', '.', $_SERVER['HTTP_HOST']), $host) !== false;
}

Local install fails during composer install with magento/module-invitation

I'm trying to install Magento 2.3 on a local Laragon install from Magneto-cloud, but the composer install is failing because of this error:

  [Composer\Downloader\TransportException]
  Invalid credentials for 'https://repo.magento.com/archives/magento/module-invitation/magento-module-invitation-100.3.4.0.zip', aborting.

I've tried re-generating my marketplace access keys and tried using another account. Adobe is saying their servers are working fine from what I can tell. I've ensured that I'm putting the public key in the "username" prompt and the private key in the "password" prompt. I'm not saving my keys anywhere and am putting them in every time it asks.

~ Matt

Exception "option does not exist" when creating/listing tunnels

When creating the tunnel with magent-cloud tunnel:open --project=xxx --environment=staging I got an error saying:
PHP Symfony\Component\Console\Exception\RuntimeException: The "--project" option does not exist. (...)

magento-cloud tunnel:open -e staging --app mymagento
PHP Symfony\Component\Console\Exception\RuntimeException: The "-e" option does not exist. (...)
PHP Stack trace: (...)
A tunnel is already opened (...)

My tunnels were created and are showing with tunnels --all after the error, but why do I get that error in the first place? The "--all" option does not exist??

user@pc:~/Desktop/m2$ magento-cloud tunnel:info
No tunnels found.
List all tunnels with: magento-cloud tunnels --all

user@pc:~/Desktop/m2$ magento-cloud tunnels --all
PHP Symfony\Component\Console\Exception\RuntimeException: The "--all" option does not exist. in phar:///home/user/.magento-cloud/bin/magento-cloud/vendor/symfony/console/Input/ArgvInput.php on line 221
(tunnels are listed here after the error line)

user@pc:~/Desktop/m2$ mc update
Checking for Magento Cloud CLI updates (current version: 1.38.1)
No updates found

The script also says: Logs are written to: /home/magento_user/.magento/tunnels.log, but nothing is saved there.
cat ~/.magento-cloud/tunnels.log is empty, however some info is saved in ~/.magento-cloud/tunnel-info.json.

https://devdocs.magento.com/cloud/env/environments-ssh.html#tunnel-setup

Problem during composer install with magento/module-invitation

Hello,
I need to install magento2 cloud on a new machine but when I do it after a while it gives me the error:

  • Installing magento/module-invitation (100.3.3): Downloading (connecting...)
    In RemoteFilesystem.php line 673:

Invalid credentials for 'https://repo.magento.com/archives/magento/module-invitation/magento-module-invitation-100.3.3.0.zip', aborting.

Obviously I do not get this error on my machine when I try to reproduce the problem because it loads the module from cache.
I'm looking forward for your kind reply.
Thank you

Magento cloud setup install failure

Hi,

I am trying to install magento in magento cloud.

To do so I did:

  • check out https://github.com/magento/magento-cloud
  • setup auth.json
  • setup env:COMPOSER_AUTH in the project with same values stored in auth.json
  • pushed everything in a separate branch called staging in the magento cloud environment

However the composer install does not work.
In the cloud and in my local machine I got

W:   [Composer\Downloader\TransportException]                                                                                                                                                  
W:   The "https://repo.magento.com/archives/magento/module-staging-page-builder/magento-module-staging-page-builder-1.7.0.0-patch1.zip" file could not be downloaded (HTTP/1.1 404 Not Found)
In my local pc (with php 7.4) i have different issues (they turn based on the composer install run).

I tried also with composer config -g repo.packagist composer https://packagist.org in local but all I got was different error messages:

The "https://repo.magento.com/archives/magento/module-banner/magento-module-banner-101.2.3.0.zip" file could not be downloaded (HTTP/2 404 )  
The "https://repo.magento.com/archives/magento/module-invitation/magento-module-invitation-100.4.2.0.zip" file could not be downloaded (HTTP/2 404 )  
The "https://repo.magento.com/archives/magento/module-banner-customer-segment/magento-module-banner-customer-segment-100.4.1.0.zip" file could not be downloaded (HTTP/2 404 )  
The "https://repo.magento.com/archives/magento/module-invitation/magento-module-invitation-100.4.2.0.zip" file could not be downloaded (HTTP/2 404 )  

With composer update i have

- Root composer.json requires magento/magento-cloud-metapackage 2.4.3, found magento/magento-cloud-metapackage[2.4.3] in the lock file but not in remote repositories, make sure you avoid updating this package to keep the one from the lock file.

What am I doing wrong?

Issue on upgrading to 2.4.6-p2 from 2.4.6-p1

Hi

We are switching to 2.4.6-p2 from 2.4.6-p1.. inside the docker container we are running the composer command.

composer version 2.2.11
php 8.1.1
Adobe commerce enterprise

on running the below command

composer require-commerce "magento/magento-cloud-metapackage":">=2.4.6 <2.4.7" --no-update

find the issue below

Screenshot from 2023-08-09 17-07-43

Upload several optimized images to media

Not an issue

We have 90 optimized images that we need to upload to our production server hosted in Magento Cloud, the problem is that Magento Cloud just provides read-access only.

Is there a proper fast way to do this process without having to upload the images one by one on the admin?

Thanks.

Improving the installation process of the magento Cloud template

Hi,

The installation process of this cloud template has multiple pain points compared to community/enterprise edition.
As a consequence, it is quite complex to maintain a dev tool chain that automates the creation of a Magento project.

Here are the main issues:

  1. This repository is not hosted on packagist:

    • Initializing a Magento community/enterprise project: composer create-project.
    • Initializing a Magento cloud project: git clone -b 2.4.4 --depth 1 [email protected]:magento/magento-cloud.git .
  2. In composer.json, the require-dev section is missing. So in our boilerplate, we have to create a temporary Magento enterprise project (with --no-install option), get the dev packages list with composer show -s (involves using sed and grep to filter the output...), and add them to the Magento cloud project with composer require...

    It's standard practice to include dev packages by default. On a production environment, you are supposed to run composer with the --no-dev option.

  3. The autoload-dev section is not up to date. The following entry is missing:

    "autoload-dev": {
        "psr-4": {
            "Magento\\PhpStan\\": "dev/tests/static/framework/Magento/PhpStan/"
        }
    }

    This missing entry cannot be added with the composer command-line, so the only way to add this missing entry is to edit the file manually.

edit: I would also suggest the following improvements:

  • Removing the composer.lock file from this repository.
  • Settting the min stability to "stable".

Add post_deploy example to the .magento.app.yaml file

Hi guys!

I was looking for information around how we should setup then new post_deploy hook which was introduced in ece-tools v2002.0.10 and I couldn't find it in the changelog for the ece-tools, so I started by looking here, since I assumed it would be here, but it isn't unfortunately.

After some more searching around, I did find it on the devdocs: http://devdocs.magento.com/guides/v2.2/cloud/project/project-conf-files_magento-app.html

But I think it should be added to this project as well?


Slightly related, it looks like we have a new binary now ./vendor/bin/ece-tools, and I think it can be used for the build and deploy hooks as well. If that's true, it might make sense to make these hooks in this project consistent so it looks clean (and also do the same thing in the documentation)


Update: and just found another config missing, in the .magento.env.yaml file, it currently doesn't contain the post-deploy configuration, which can be found over here at the devdocs: http://devdocs.magento.com/guides/v2.2/cloud/env/variables-post-deploy.html

Update 2: also the SKIP_HTML_MINIFICATION example doesn't exist yet in this project, see docs again: http://devdocs.magento.com/guides/v2.2/cloud/env/variables-intro.html#skip_html_minification
It might be possible that other examples are also missing, but I'm going to stop looking for these now 😉

Thanks!

fresh install of 2.4.2 overwrites default gitignore

Steps to reproduce:

  • clone repo
  • checkout 2.4.2 branch
  • composer install
  • run git status
On branch 2.4.2
Your branch is up to date with 'origin/2.4.2'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   .gitignore
        modified:   COPYING.txt
        modified:   LICENSE.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .docker/
        .editorconfig
        .htaccess
        .htaccess.sample
        .magento.env.md
        .php_cs.dist
        .user.ini
        CHANGELOG.md
        Gruntfile.js.sample
        LICENSE_AFL.txt
        LICENSE_EE.txt
        README_EE.md
        SECURITY.md
        app/
        auth.json.sample
        bin/
        dev/
        docker-sync.yml
        generated/
        grunt-config.json.sample
        lib/
        mutagen.sh
        nginx.conf.sample
        package.json.sample
        php.dev.ini
        phpserver/
        pub/
        setup/
        var/
        vendor/

Now there are a ton of untracked files. If I revert the .gitignore change then git is happier. This only happens on 2.4.2 branch

Install Community Edition on Magento Cloud server

Hello,

Has anyone tried to install CE on Magento Cloud server? We're developing a plugin which needs to be tested on both EE (works fine) and CE on the server. Many errors like missing class files (FrontController) or read-only file systems during cache cleaning happened during my deployment of CE on magento cloud. 

I've searched for all the possible solutions around the web but no hope. 

Could you help me with this please? Thank you.

FEAT: Opcache cron

Whatever backing infra belies the Cloud for storage has some nasty latency, as several of my perf issues and CPU consumption problems come from cron:run as a result of includeFile (resulting in an include).

As a result, I asked myself why? Why are you calling includeFile so often?

The answer to this question is that cron:run is called from a CLI context, where opcache is essentially disabled.

As such, all the awesome perf benefits of opcache are disabled in the cron context as currently configured by cloud.

Now, someone may naively recommend opcache.enable_cli -- this would be a mistake. opcache.enable_cli caching only applies within the context of a single run of a cli command (the cache is lost when the command completes).

We'd need a way to store the result of the opcache during a cron:run and then reload it once we start the next run.

Any chance that we can store the opcache for cron in tmpfs or on disk?

This would update the .magento.app.yaml to something like:

# Default Magento 2 cron jobs
crons:
    cronrun:
        spec: "* * * * *"
        cmd: |
           php \
	     -d opcache.file_cache_only=1 \
	     -d opcache.enable_cli=1 \
	     -d opcache.file_cache=/mnt/tmpfs \
	     -d memory_limit=-1 \
	     bin/magento cron:run

or

# Default Magento 2 cron jobs
crons:
    cronrun:
        spec: "* * * * *"
        cmd: |
           php \
	     -d opcache.file_cache_only=1 \
	     -d opcache.enable_cli=1 \
	     -d opcache.file_cache=/mnt/disk-any-where-just-let-me-mount-something-so-i-dont-recompile-on-every-cron-run \
	     -d memory_limit=-1 \
	     bin/magento cron:run

cc: @shiftedreality

[PAGE BUILDER] Children elements disappearing

When saving a custom content type that has children, it's children completely disappear from the component in the admin.
The bug only occurs when the <render args="masterTemplate" /> line is surrouned by a div and that there are elements after that render tag.

You can find a modified version of Example PageBuilderFaq official demo at this URL with only an input text added to the Content Type and a div surrounding the <render args="masterTemplate" /> in the master.html file.

I've tried contacting the support but apparently it's considered as "out of the scope" since it's about a new Content Type, even if all I did was trying to add a simple input text to an official Page Builder Content Type...

Preconditions (*)

  1. Magento Cloud 2.3.4 (not testing on higher versions)

Steps to reproduce (*)

  1. Create a content type with children
  2. In the master.html template, surround the <render args="masterTemplate" /> line with a div tag.
  3. Add any kind of element (for example an input text) after that div
  4. Go to the admin and add this content type to a page and fill it completely
  5. Save the page

Expected result (*)

  1. The content type is saved and everything inside it is visible on both frontend and backend.
  2. The admin can edit that content type

Actual result (*)

  1. The content type is correctly saved
  2. The content is visible on frontend
  3. The children are completely missing from the content type in the admin.

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Where is pub/front-static.php?

The .magento.app.yaml is referencing a pub/front-static.php file. But I don't see it in pub/.

In previous versions it was physically present (see 2.0.4 pub/ directory listing). Also the magento/magento-cloud-configuration module is not creating it (or copying it from pub/static.php).

Looking at the history, the file was removed in a mass removal commit "Remove files from base package from template" by @bwaters on Jul 26, 2016.

So, shouldn't it be there? Or is the line in the .magento.app.yaml not correct?

Magento > 2.4.2 require composer 2

According to https://devdocs.magento.com/guides/v2.4/install-gde/system-requirements.html, Magento from 2.4.2 requires composer 2.x but with the current .magento.app.yaml we get composer 1.x

Magento 2.4.2 will eventually work with composer 1.x but 2.4.3 will produce this error during deploy:

Found a `composer.json`, installing dependencies.
    W: Loading composer repositories with package information
    W: Installing dependencies (including require-dev) from lock file
    W: Your requirements could not be resolved to an installable set of packages.
    W:
    W:   Problem 1
    W:     - Installation request for ocramius/proxy-manager 2.10.1 -> satisfiable by ocramius/proxy-manager[2.10.1].
    W:     - ocramius/proxy-manager 2.10.1 requires composer-runtime-api ^2.0.0 -> no matching package found.
    W:   Problem 2
    W:     - ocramius/proxy-manager 2.10.1 requires composer-runtime-api ^2.0.0 -> no matching package found.
    W:     - symfony/proxy-manager-bridge v4.4.18 requires ocramius/proxy-manager ~2.1 -> satisfiable by ocramius/proxy-manager[2.10.1].
    W:     - Installation request for symfony/proxy-manager-bridge v4.4.18 -> satisfiable by symfony/proxy-manager-bridge[v4.4.18].
    W:
    W: Potential causes:
    W:  - A typo in the package name
    W:  - The package is not available in a stable-enough version according to your minimum-stability setting
    W:    see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
    W:  - It's a private package and you forgot to add a custom repository to find it
    W:
    W: Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Running Consumers as Workers

I have searched high and low across the internet and I have not found a single actual example of how to use workers in magento cloud.

The only example I can find is this. Which is not an actual example.

Platform.sh (same vendor as magento cloud) has a specific example here.

Consumers specifically are a good candidate for workers because they are always supposed to be listening for messages, and processing as they come in. What would be great is if we can create a single worker to run all consumer processes.

So far I have something like this I am testing

workers:
    queue:
        size: S
        disk: 128
        commands:
            start: |
                bin/magento  queue:consumers:list | xargs -n1 bin/magento queue:consumers:start --single-thread --max-messages=1000

Essentially this script list all the consumers and then runs each as a single thread. Is a worker like this to list and run all consumers feasible? If so is there a better way than the command I have above?

Add compression to Magento-cloud scp command

Hi - we use the magento-cloud scp command to copy down images from the remote pub/media directory, but it takes a loooong time - is it possible to add the scp compression flag (-C) to the magento cloud version? If there is a better/dedicated tool to download the media directory (similar to db:dump..?) that would also be helpful.

Pro environment, add var/report to the local disk

Currently on the Pro servers the var/ folder is mounted as a shared folder, and then the var/log folder is mounted as a direct local disk access for performance.

var/report is another directory that basically contains "logging" information and should be a local mount.

I think this would require both some changes to ece-tools or the other cloud components and a support ticket.

magento-module-staging-page-builder-2.1.0.0.zip" file could not be downloaded

Hi, I'm working in a Magento Cloud project and since last friday 2020-01-15, we have receiving the composer error below:

[Composer\Downloader\TransportException]
The "https://repo.magento.com/archives/magento/module-staging-page-builder/magento-module-staging-page-builder-2.1.0.0.zip" file could not be downloaded (HTTP/1.1 404 Not Found)

composer-error

There is no problema with credentials, all other packages are installed successfully.

Could you help us? please.

Magento 2.2.0: .gitignore file should ignore /generated/ directory

Preconditions

  1. Git version 2.14.2 (seems the be the only relevant software package here)

Steps to reproduce

  1. Having a Magento 2.1.9 Cloud project
  2. Upgrade it to Magento 2.2.0 using http://devdocs.magento.com/guides/v2.2/cloud/project/project-upgrade.html
  3. Run: git add -A
  4. Run: bin/magento --version
  5. Run: git status

Expected result

  1. Not seeing files listed from the '/generated/' directory

Actual result

  1. Seeing a whole bunch of files from the '/generated/' directory

Discussion

I think these two lines need to be added to the .gitignore file:

/generated/*
!/generated/.htaccess

Magento Cloud 2.4.4 fresh install failure

When installing Magento Cloud 2.4.4 on local server, ran into this error when running
$ bin/magento setup:static-content:deploy -f

Deploy using quick strategy
Error happened during deploy process: Deprecated Functionality: pathinfo(): Passing null to parameter #1 ($path) of type string is deprecated in /var/www/beta/vendor/magento/framework/View/Asset/PreProcessor/FileNameResolver.php on line 44

When installing 2.4.4 on Magento Cloud, ran into a related error:

[2022-04-16T23:14:40.417807+00:00] ERROR: [19] The command "php ./bin/magento setup:static-content:deploy --ansi --no-interaction -f --jobs 4 --no-html-minify en_US" failed. Error happened during deploy process: Deprecated Functionality: pathinfo(): Passing null to parameter #1 ($path) of type string is deprecated in /app/vendor/magento/framework/View/Asset/PreProcessor/FileNameResolver.php on line 44
W: 
W: In Processor.php line 129:
W:                                                                                
W:   The command "php ./bin/magento setup:static-content:deploy --ansi --no-inte  
W:   raction -f --jobs 4 --no-html-minify en_US" failed. Error happened   
W:   during deploy process: Deprecated Functionality: pathinfo(): Passing null t  
W:   o parameter #1 ($path) of type string is deprecated in /app/vendor/magento/  
W:   framework/View/Asset/PreProcessor/FileNameResolver.php on line 44    
W:                                                                                
W: 
W: In Generate.php line 98:
W:                                                                                
W:   The command "php ./bin/magento setup:static-content:deploy --ansi --no-inte  
W:   raction -f --jobs 4 --no-html-minify en_US" failed. Error happened   
W:   during deploy process: Deprecated Functionality: pathinfo(): Passing null t  
W:   o parameter #1 ($path) of type string is deprecated in /app/vendor/magento/  
W:   framework/View/Asset/PreProcessor/FileNameResolver.php on line 44    
W:                                                                                
W: 
W: In Shell.php line 86:
W:                                                                                
W:   The command "php ./bin/magento setup:static-content:deploy --ansi --no-inte  
W:   raction -f --jobs 4 --no-html-minify en_US" failed. Error happened   
W:   during deploy process: Deprecated Functionality: pathinfo(): Passing null t  
W:   o parameter #1 ($path) of type string is deprecated in /app/vendor/magento/  
W:   framework/View/Asset/PreProcessor/FileNameResolver.php on line 44    
W:                                                                                
W: 
W: run <scenario>...
W: 

E: Error building project: Step failed with status code 19.

E: Error: Unable to build application, aborting.

Constraints for Cloud Metapackage

Description

The constraint numbers for the metapackage don't need to be set as : >=current_version <next_version

eg "magento/magento-cloud-metapackage":">=2.3.4 <2.3.5"

This is because the Cloud metapackage require does this -

           "require": {
                "fastly/magento2": "^1.2.34",
                "magento/ece-tools": "^2002.1.0",
                "magento/module-paypal-on-boarding": "~100.4.0",
                "magento/product-enterprise-edition": ">=2.4.2 <2.4.3"
            },

Possible solutions

Change "magento/magento-cloud-metapackage":">=2.x.y <2.x.z" to "magento/magento-cloud-metapackage":"2.x.y" in composer.json

There is an issue on DEVDOCS for the docs - magento/devdocs#9094

How to install require-dev modules from magento2

How do we install the magento testing framework with magento cloud? the only reference that I have seen in the docs is to switch the magento2 repo to the develop branch, but how do we do that with magento cloud?

I guess we could manually go pull those requirements from the magento2 repo.

Apostrophe and accent letters cannot be used in Live Search queries

Live Search cannot handle any queries that contain apostrophe or accent letters. These accent letters are frequently used in product names of French and/or other European origin.

See screenshots below, the query of L'If returns no results, yet multiple versions of the product exist and are visible when queried by SKU.
Screen Shot 2022-08-13 at 2 27 25 PM

Screen Shot 2022-08-13 at 2 27 40 PM

Identical failure to return Live Search results occurs when queries include accented letters such as â, î, é, è ...

composer install aborted

On composer install --ignore-platform-reqs

[Composer\Downloader\TransportException]     
Invalid credentials for 'https://repo.magento.com/archives/magento/module-worldpay/magento-module-worldpay-100.2.3.0.zip', aborting. 

Is that related with the structure of auth.json file stated in #297

Docker-sync is not copying code from host to magento containers.

Hi Team,

We have tried magento-2 docker setup on windows10. we are facing issues on docker-sync. Below are the details:

Setup Details:

  1. Clone magento2 files from cloud repo ( https://github.com/magento/magento-cloud ), branch name was M2 2.3.3

  2. We are following this documentation (https://devdocs.magento.com/cloud/docker/docker-mode-developer.html) and was able to complete step 1 to 3 But we are facing issues with step 4 (docker-sycn installing on windows).
    Please note we are following docker-sync installation using https://docker-sync.readthedocs.io/en/latest/getting-started/installation.html#windows

  3. we have completed docker-sync installation also configure docker-sync.yml file.

version: 2
options:
  max_attempt: 30
  verbose: true
syncs:
  magento-sync:
    src: './'
    sync_excludes:
      - '.git'
      - '.idea'
      - '.magento'
      - '.docker'
      - '.github'
      - '*.sql'
      - '*.gz'
      - '*.zip'
      - '*.bz2'
    sync_userid: '1000'
    sync_strategy: 'unison'
  1. Launched the docker-sync using ece-docker command :

vendor/bin/ece-docker build:compose --mode="developer" --sync-engine="docker-sync"

  1. docker-compose.yml file is created. All magento containers were launched successfully.
CONTAINER ID        IMAGE                                                COMMAND                  CREATED             STATUS                 PORTS                         NAMES
0f3d1423c045        eugenmayer/unison:2.51.2.2                           "/entrypoint.sh supe…"   About an hour ago   Up About an hour       127.0.0.1:32769->5000/tcp     magento-sync
7405b214cbef        magento/magento-cloud-docker-tls:latest-1.1          "/entrypoint.sh"         3 hours ago         Up 3 hours             0.0.0.0:443->443/tcp          magento-cloud_tls_1
810d9dd5cd81        magento/magento-cloud-docker-varnish:latest-1.1      "/entrypoint.sh"         3 hours ago         Up 3 hours             80/tcp                        magento-cloud_varnish_1
405380f91e30        magento/magento-cloud-docker-nginx:latest-1.1        "/docker-entrypoint.…"   3 hours ago         Up 3 hours (healthy)   0.0.0.0:80->80/tcp, 443/tcp   magento-cloud_web_1
04b4675ee02e        magento/magento-cloud-docker-php:7.3-fpm-1.1         "/docker-entrypoint.…"   3 hours ago         Up 3 hours (healthy)   9000/tcp                      magento-cloud_fpm_1
d4cfda59feb2        mariadb:10.2                                         "docker-entrypoint.s…"   3 hours ago         Up 3 hours (healthy)   0.0.0.0:32779->3306/tcp       magento-cloud_db_1
0273345c6fe4        redis:5.0                                            "docker-entrypoint.s…"   3 hours ago         Up 3 hours (healthy)   0.0.0.0:32778->6379/tcp       magento-cloud_redis_1
b5ac8f671c1d        magento/magento-cloud-docker-elasticsearch:6.5-1.1   "/usr/local/bin/dock…"   3 hours ago         Up 3 hours (healthy)   9200/tcp, 9300/tcp            magento-cloud_elasticsearch_1
  1. After this, we have started docker-sync start command to copy all the files from my host(laptop) to all Magento containers. But docker-sync is running in a loop. But we do not find any changes/contents in /app directory in all containers(fpm/web/magento containers).
Copying properties for dev/tests/integration/testsuite/Magento/Staging/Model/UpdateRepositoryTest.php from /c/Users/chackoni/magento-cloud to //0f3d1423c045//app_sync
Failed: Failed to set permissions of file /app_sync/dev/tests/integration/testsuite/Magento/GiftRegistry/Model/Config/_files/Magento/Reward/etc/giftregistry.xml to ?????w??w?: the permissions was set to ?????-??-? instead. The filesystem probably does not support all permission bits. If this is a FAT filesystem, you should set the "fat" option to true. Otherwise, you should probably set the "perms" option to 0o1755 (or to 0 if you don't need to synchronize permissions).
[BGN] Copying properties for dev/tests/integration/testsuite/Magento/Staging/_files/cleaner.php from /c/Users/chackoni/magento-cloud to //0f3d1423c045//app_sync
Failed: Failed to set permissions of file /app_sync/dev/tests/integration/testsuite/Magento/GiftRegistry/Model/Config/_files/giftregistry_config.php to ?????w??w?: the permissions was set to ?????-??-? instead. The filesystem probably does not support all permission bits. If this is a FAT filesystem, you should set the "fat" option to true. Otherwise, you should probably set the "perms" option to 0o1755 (or to 0 if you don't need to synchronize permissions).
[BGN] Copying properties for dev/tests/integration/testsuite/Magento/Staging/_files/search_staging_update.php from /c/Users/chackoni/magento-cloud to //0f3d1423c045//app_sync

Kindly Please let us know what is the correct method for configuration to setup the docker-sync for magento -cloud docker(docker-sync is running in loop)

Thanks!
Nithin Ninan

Default Opcache settings are too opinionated.

Opcache validate toggled off causes a lot of issues, in lower environments.

While this setting is fine in cloud servers where files don't change local developers do need to be able to see the changes.

;
; Setup opcache configuration
;
opcache.validate_timestamps = 0
opcache.blacklist_filename="${MAGENTO_CLOUD_APP_DIR}/op-exclude.txt"
opcache.max_accelerated_files=16229
opcache.consistency_checks=0

This was introduced in: 8cfcb8f#diff-243dae866e7173c76f8b91864096c15ffcb3aec3699da130eb0b7ef2566fdce3

This is also problematic because of the
opcache.validate_timestamps = 0
opcache.consistency_checks=0

This basically makes it stop checking files for changes, and local development environments end up having to be restarted to see the changes. If this is required in Magento Cloud, and it does make sense to have it there, I would suggest not enforcing it here, but perhaps moving it to a performance settings file (php.performance.ini) that gets included in the cloud environments.

The issues with op-exclude.txt is handled in another ticket: #520

Credentials error during installation of magento/module-invitation

Hello,
This is the first time we use Magento Cloud for our company, and we're stuck at composer install's credentials error for only magento/module-invitation (the other magento- packages work fine):

Package operations: 364 installs, 0 updates, 0 removals
  - Installing magento/module-invitation (100.3.4): Downloading (connecting...)
                                                                                                                  
  [Composer\Downloader\TransportException]                                                                        
  Invalid credentials for 'https://repo.magento.com/archives/magento/module-invitation/magento-module-invitatio   
  n-100.3.4.0.zip', aborting.

The auth keys we used are from our sandbox account at https://marketplace.magento.com/customer/accessKeys/. I've searched of the older issues from your repo but unfortunately couldn't fix it.

I'm looking forward for your kind reply.
Thank you

Issue with php.ini and opcache exclude

opcache.blacklist_filename="${MAGENTO_CLOUD_APP_DIR}/op-exclude.txt"

opcache.blacklist_filename="${MAGENTO_CLOUD_APP_DIR}/op-exclude.txt"

This line has special characters and ends up causing problems in Magento Cloud Docker environments, and unless it is parsed somehow, I would assume it is not working as intended in Magento Cloud.

This was introduced in: 8cfcb8f#diff-243dae866e7173c76f8b91864096c15ffcb3aec3699da130eb0b7ef2566fdce3

Additionally, the opcache.txt exclude also is problematic. because it refers to /app/ for all the files which on some environments (pro vs starter vs integration) does not always match. Sometimes the root dir is /app/g34n60jkdr_stg for instance.

2.33 - Error on composer install

Hi team,

Issue Description:

Yesterday, I tried to install magento-cloud ( 2.3.3 ). While doing composer install, the error i am getting:

- Installing vertex/sdk (1.2.3): Downloading (failed)

  [Composer\Downloader\TransportException]
  The "https://repo.magento.com/archives/vertex/sdk/vertex-sdk-1.2.3.0.zip" file could not be downloaded (HTTP/1.1 404 N
  ot Found)

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...
File doesn't exist: bin/magento-docker
Check "chmod" section in composer.json of magento/magento-cloud-docker package.
File doesn't exist: mutagen.sh
Check "chmod" section in composer.json of magento/magento-cloud-docker package.

Yesterday, i saw two changes(composer.json and composer.lock) has been pushed in 2.3.3 branch. Before that, i am able to do composer install on 2.3.3 without any issues. Please help here.

Steps to reproduce:

  1. Go to https://github.com/magento/magento-cloud
  2. Clone with branch 2.3.3 on local
  3. try composer install

Expected and actual results

Actual Results:

When we try with composer install(2.3.3 branch), getting below errors:
1.

- Installing vertex/sdk (1.2.3): Downloading (failed)

  [Composer\Downloader\TransportException]
  The "https://repo.magento.com/archives/vertex/sdk/vertex-sdk-1.2.3.0.zip" file could not be downloaded (HTTP/1.1 404 N
  ot Found)

install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-custom-installers] [--no-autoloader] [--no-scripts] [--no-progress] [--no-suggest] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--ignore-platform-reqs] [--] [<packages>]...
File doesn't exist: bin/magento-docker
Check "chmod" section in composer.json of magento/magento-cloud-docker package.
File doesn't exist: mutagen.sh
Check "chmod" section in composer.json of magento/magento-cloud-docker package.

Expected Results:
When we try with composer install(2.3.3 branch), clone every file with no issues and errors.

Thanks!
Nithin Ninan

[Feature request] logrotate in Integration environments

The logrotate utility should be installed and preconfigured on Integration (containerized) environments. Running out of storage due to large log files happens for various reasons. Its absence an unexpected inconsistency with clustered (Pro Plan Production and Staging) environments, which have logrotate. Further, the utility is consistently offered by Magento Cloud's hosting competitors.

A couple scenarios in which I have encountered the issue.

  • The Production environment of a Starter Plan is containerized. The normal traffic load of a Production site will cause log size to increase rapidly.
  • If an error exists during a cron run, that error will continuously be logged, causing even unused Integration environments to exceed storage capacity over time.

Services are not upgrading automatically

Reference:

# Each service listed will be deployed to power your project.

Today an Adobe CSR reached out to notify that services are not upgraded in our environments, regardless of having these configuration values provided. This comment communicates that services in this file will reflect the environment, however this is not true according.

Please provide clear messaging in this services.yaml file, CSR could not tell us if this comment hold true to Pro or Non-Pro cloud projects.

Command "app:config:dump" is not defined.

Base install of Magento Commerce Cloud site:

> php ./vendor/bin/ece-tools config:dump
[2018-08-21 02:09:58] INFO: Starting dump.  
[2018-08-21 02:09:58] INFO: php ./bin/magento app:config:dump --ansi --no-interaction  
[2018-08-21 02:10:04] CRITICAL: 
  
                                                                    
    [Symfony\Component\Console\Exception\CommandNotFoundException]  
    Command "app:config:dump" is not defined.                       
                                                                    
    Did you mean one of these?                                      
        app:config:import                                           
        setup:config:set                                            
        setup:store-config:set                                      
                                                                    
    
[2018-08-21 02:10:04] CRITICAL: Command php ./bin/magento app:config:dump --ansi --no-interaction returned code 1  

                                                                                     
  [RuntimeException]                                                                 
  Command php ./bin/magento app:config:dump --ansi --no-interaction returned code 1  
                                                                                     

config:dump

Incompatibility on installing magento 2.4.0, magento cloud and MFTF

Hi team,

Issue Description:

I try to install magento 2.4.0 with magneto-cloud package to handle a docker stack and MFTF to handle functionnal testing.
It results to a composer incompatibility issue.

Steps to reproduce:

Case 1:

Install the 2.4.0 EE with MFTF included by composer

composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition . --ignore-platform-reqs

Then add the cloud metapackage

composer req magento/magento-cloud-metapackage

Case 2:

Clone magento cloud project : include magento 2.4.0 EE

git clone https://github.com/magento/magento-cloud.git

Add MFTF :

composer req magento/magento2-functional-testing-framework

Actual Results:

Case 1:

Using version ^2.4 for magento/magento-cloud-metapackage
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)


Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Conclusion: remove symfony/console v4.4.11
    - Conclusion: don't install symfony/console v4.4.11
    - symfony/dependency-injection v3.3.0 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.1 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.10 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.11 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.12 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.13 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.14 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.15 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.16 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.17 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.18 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.2 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.3 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.4 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.5 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.6 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.7 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.8 conflicts with symfony/console[v4.4.11].
    - symfony/dependency-injection v3.3.9 conflicts with symfony/console[v4.4.11].
    - Installation request for symfony/console (locked at v4.4.11) -> satisfiable by symfony/console[v4.4.11].
    - Conclusion: don't install symfony/property-info v5.1.3|install symfony/dependency-injection v3.3.0|install symfony/dependency-injection v3.3.1|install symfony/dependency-injection v3.3.10|install symfony/dependency-injection v3.3.11|install symfony/dependency-injection v3.3.12|install symfony/dependency-injection v3.3.13|install symfony/dependency-injection v3.3.14|install symfony/dependency-injection v3.3.15|install symfony/dependency-injection v3.3.16|install symfony/dependency-injection v3.3.17|install symfony/dependency-injection v3.3.18|install symfony/dependency-injection v3.3.2|install symfony/dependency-injection v3.3.3|install symfony/dependency-injection v3.3.4|install symfony/dependency-injection v3.3.5|install symfony/dependency-injection v3.3.6|install symfony/dependency-injection v3.3.7|install symfony/dependency-injection v3.3.8|install symfony/dependency-injection v3.3.9
    - Conclusion: remove symfony/property-info v5.1.3|install symfony/dependency-injection v3.3.0|install symfony/dependency-injection v3.3.1|install symfony/dependency-injection v3.3.10|install symfony/dependency-injection v3.3.11|install symfony/dependency-injection v3.3.12|install symfony/dependency-injection v3.3.13|install symfony/dependency-injection v3.3.14|install symfony/dependency-injection v3.3.15|install symfony/dependency-injection v3.3.16|install symfony/dependency-injection v3.3.17|install symfony/dependency-injection v3.3.18|install symfony/dependency-injection v3.3.2|install symfony/dependency-injection v3.3.3|install symfony/dependency-injection v3.3.4|install symfony/dependency-injection v3.3.5|install symfony/dependency-injection v3.3.6|install symfony/dependency-injection v3.3.7|install symfony/dependency-injection v3.3.8|install symfony/dependency-injection v3.3.9
    - symfony/dependency-injection v3.4.0 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.1 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.10 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.11 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.12 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.13 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.14 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.15 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.16 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.17 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.18 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.19 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.2 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.20 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.21 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.22 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.23 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.24 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.25 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.26 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.27 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.28 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.29 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.3 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.30 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.31 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.32 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.33 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.34 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.35 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.36 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.37 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.38 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.39 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.4 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.40 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.41 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.42 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.43 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.5 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.6 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.7 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.8 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v3.4.9 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.0 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.1 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.10 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.11 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.2 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.3 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.4 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.5 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.6 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.7 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.8 conflicts with symfony/property-info[v5.1.3].
    - symfony/dependency-injection v4.3.9 conflicts with symfony/property-info[v5.1.3].
    - Installation request for symfony/property-info (locked at v5.1.3) -> satisfiable by symfony/property-info[v5.1.3].
    - Installation request for magento/magento-cloud-metapackage ^2.4 -> satisfiable by magento/magento-cloud-metapackage[2.4.0].
    - Conclusion: don't install symfony/config v5.1.3|install symfony/dependency-injection v3.3.0|install symfony/dependency-injection v3.3.1|install symfony/dependency-injection v3.3.10|install symfony/dependency-injection v3.3.11|install symfony/dependency-injection v3.3.12|install symfony/dependency-injection v3.3.13|install symfony/dependency-injection v3.3.14|install symfony/dependency-injection v3.3.15|install symfony/dependency-injection v3.3.16|install symfony/dependency-injection v3.3.17|install symfony/dependency-injection v3.3.18|install symfony/dependency-injection v3.3.2|install symfony/dependency-injection v3.3.3|install symfony/dependency-injection v3.3.4|install symfony/dependency-injection v3.3.5|install symfony/dependency-injection v3.3.6|install symfony/dependency-injection v3.3.7|install symfony/dependency-injection v3.3.8|install symfony/dependency-injection v3.3.9|install symfony/dependency-injection v3.4.0|install symfony/dependency-injection v3.4.1|install symfony/dependency-injection v3.4.10|install symfony/dependency-injection v3.4.11|install symfony/dependency-injection v3.4.12|install symfony/dependency-injection v3.4.13|install symfony/dependency-injection v3.4.14|install symfony/dependency-injection v3.4.15|install symfony/dependency-injection v3.4.16|install symfony/dependency-injection v3.4.17|install symfony/dependency-injection v3.4.18|install symfony/dependency-injection v3.4.19|install symfony/dependency-injection v3.4.2|install symfony/dependency-injection v3.4.20|install symfony/dependency-injection v3.4.21|install symfony/dependency-injection v3.4.22|install symfony/dependency-injection v3.4.23|install symfony/dependency-injection v3.4.24|install symfony/dependency-injection v3.4.25|install symfony/dependency-injection v3.4.26|install symfony/dependency-injection v3.4.27|install symfony/dependency-injection v3.4.28|install symfony/dependency-injection v3.4.29|install symfony/dependency-injection v3.4.3|install symfony/dependency-injection v3.4.30|install symfony/dependency-injection v3.4.31|install symfony/dependency-injection v3.4.32|install symfony/dependency-injection v3.4.33|install symfony/dependency-injection v3.4.34|install symfony/dependency-injection v3.4.35|install symfony/dependency-injection v3.4.36|install symfony/dependency-injection v3.4.37|install symfony/dependency-injection v3.4.38|install symfony/dependency-injection v3.4.39|install symfony/dependency-injection v3.4.4|install symfony/dependency-injection v3.4.40|install symfony/dependency-injection v3.4.41|install symfony/dependency-injection v3.4.42|install symfony/dependency-injection v3.4.43|install symfony/dependency-injection v3.4.5|install symfony/dependency-injection v3.4.6|install symfony/dependency-injection v3.4.7|install symfony/dependency-injection v3.4.8|install symfony/dependency-injection v3.4.9|install symfony/dependency-injection v4.3.0|install symfony/dependency-injection v4.3.1|install symfony/dependency-injection v4.3.10|install symfony/dependency-injection v4.3.11|install symfony/dependency-injection v4.3.2|install symfony/dependency-injection v4.3.3|install symfony/dependency-injection v4.3.4|install symfony/dependency-injection v4.3.5|install symfony/dependency-injection v4.3.6|install symfony/dependency-injection v4.3.7|install symfony/dependency-injection v4.3.8|install symfony/dependency-injection v4.3.9
    - Conclusion: remove symfony/config v5.1.3|install symfony/dependency-injection v3.3.0|install symfony/dependency-injection v3.3.1|install symfony/dependency-injection v3.3.10|install symfony/dependency-injection v3.3.11|install symfony/dependency-injection v3.3.12|install symfony/dependency-injection v3.3.13|install symfony/dependency-injection v3.3.14|install symfony/dependency-injection v3.3.15|install symfony/dependency-injection v3.3.16|install symfony/dependency-injection v3.3.17|install symfony/dependency-injection v3.3.18|install symfony/dependency-injection v3.3.2|install symfony/dependency-injection v3.3.3|install symfony/dependency-injection v3.3.4|install symfony/dependency-injection v3.3.5|install symfony/dependency-injection v3.3.6|install symfony/dependency-injection v3.3.7|install symfony/dependency-injection v3.3.8|install symfony/dependency-injection v3.3.9|install symfony/dependency-injection v3.4.0|install symfony/dependency-injection v3.4.1|install symfony/dependency-injection v3.4.10|install symfony/dependency-injection v3.4.11|install symfony/dependency-injection v3.4.12|install symfony/dependency-injection v3.4.13|install symfony/dependency-injection v3.4.14|install symfony/dependency-injection v3.4.15|install symfony/dependency-injection v3.4.16|install symfony/dependency-injection v3.4.17|install symfony/dependency-injection v3.4.18|install symfony/dependency-injection v3.4.19|install symfony/dependency-injection v3.4.2|install symfony/dependency-injection v3.4.20|install symfony/dependency-injection v3.4.21|install symfony/dependency-injection v3.4.22|install symfony/dependency-injection v3.4.23|install symfony/dependency-injection v3.4.24|install symfony/dependency-injection v3.4.25|install symfony/dependency-injection v3.4.26|install symfony/dependency-injection v3.4.27|install symfony/dependency-injection v3.4.28|install symfony/dependency-injection v3.4.29|install symfony/dependency-injection v3.4.3|install symfony/dependency-injection v3.4.30|install symfony/dependency-injection v3.4.31|install symfony/dependency-injection v3.4.32|install symfony/dependency-injection v3.4.33|install symfony/dependency-injection v3.4.34|install symfony/dependency-injection v3.4.35|install symfony/dependency-injection v3.4.36|install symfony/dependency-injection v3.4.37|install symfony/dependency-injection v3.4.38|install symfony/dependency-injection v3.4.39|install symfony/dependency-injection v3.4.4|install symfony/dependency-injection v3.4.40|install symfony/dependency-injection v3.4.41|install symfony/dependency-injection v3.4.42|install symfony/dependency-injection v3.4.43|install symfony/dependency-injection v3.4.5|install symfony/dependency-injection v3.4.6|install symfony/dependency-injection v3.4.7|install symfony/dependency-injection v3.4.8|install symfony/dependency-injection v3.4.9|install symfony/dependency-injection v4.3.0|install symfony/dependency-injection v4.3.1|install symfony/dependency-injection v4.3.10|install symfony/dependency-injection v4.3.11|install symfony/dependency-injection v4.3.2|install symfony/dependency-injection v4.3.3|install symfony/dependency-injection v4.3.4|install symfony/dependency-injection v4.3.5|install symfony/dependency-injection v4.3.6|install symfony/dependency-injection v4.3.7|install symfony/dependency-injection v4.3.8|install symfony/dependency-injection v4.3.9
    - magento/magento-cloud-metapackage 2.4.0 requires magento/ece-tools ^2002.1.0 -> satisfiable by magento/ece-tools[2002.1.1, 2002.1.0].
    - magento/ece-tools 2002.1.1 requires symfony/dependency-injection ^3.3||^4.3 -> satisfiable by symfony/dependency-injection[v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.41, v3.4.42, v3.4.43, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.10, v4.4.11, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.4.9].
    - magento/ece-tools 2002.1.0 requires symfony/dependency-injection ^3.3||^4.3 -> satisfiable by symfony/dependency-injection[v3.3.0, v3.3.1, v3.3.10, v3.3.11, v3.3.12, v3.3.13, v3.3.14, v3.3.15, v3.3.16, v3.3.17, v3.3.18, v3.3.2, v3.3.3, v3.3.4, v3.3.5, v3.3.6, v3.3.7, v3.3.8, v3.3.9, v3.4.0, v3.4.1, v3.4.10, v3.4.11, v3.4.12, v3.4.13, v3.4.14, v3.4.15, v3.4.16, v3.4.17, v3.4.18, v3.4.19, v3.4.2, v3.4.20, v3.4.21, v3.4.22, v3.4.23, v3.4.24, v3.4.25, v3.4.26, v3.4.27, v3.4.28, v3.4.29, v3.4.3, v3.4.30, v3.4.31, v3.4.32, v3.4.33, v3.4.34, v3.4.35, v3.4.36, v3.4.37, v3.4.38, v3.4.39, v3.4.4, v3.4.40, v3.4.41, v3.4.42, v3.4.43, v3.4.5, v3.4.6, v3.4.7, v3.4.8, v3.4.9, v4.3.0, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.1, v4.4.10, v4.4.11, v4.4.2, v4.4.3, v4.4.4, v4.4.5, v4.4.6, v4.4.7, v4.4.8, v4.4.9].
    - symfony/dependency-injection v4.4.0 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.1 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.10 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.11 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.2 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.3 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.4 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.5 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.6 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.7 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.8 conflicts with symfony/config[v5.1.3].
    - symfony/dependency-injection v4.4.9 conflicts with symfony/config[v5.1.3].
    - Installation request for symfony/config (locked at v5.1.3) -> satisfiable by symfony/config[v5.1.3].


Installation failed, reverting ./composer.json to its original content.

Case 2:

Using version ^3.0 for magento/magento2-functional-testing-framework
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for doctrine/inflector (locked at 1.4.3) -> satisfiable by doctrine/inflector[1.4.3].
    - magento/magento2-functional-testing-framework 3.0.0 requires csharpru/vault-php ~3.5.3 -> satisfiable by csharpru/vault-php[3.5.3].
    - magento/magento2-functional-testing-framework 3.0.0-RC3 requires csharpru/vault-php ~3.5.3 -> satisfiable by csharpru/vault-php[3.5.3].
    - magento/magento2-functional-testing-framework 3.0.0-RC4 requires csharpru/vault-php ~3.5.3 -> satisfiable by csharpru/vault-php[3.5.3].
    - magento/magento2-functional-testing-framework 3.0.0-RC5 requires csharpru/vault-php ~3.5.3 -> satisfiable by csharpru/vault-php[3.5.3].
    - csharpru/vault-php 3.5.3 requires doctrine/inflector ~1.1.0 -> satisfiable by doctrine/inflector[v1.1.0].
    - Conclusion: don't install doctrine/inflector v1.1.0
    - Installation request for magento/magento2-functional-testing-framework ^3.0 -> satisfiable by magento/magento2-functional-testing-framework[3.0.0, 3.0.0-RC3, 3.0.0-RC4, 3.0.0-RC5].


Installation failed, reverting ./composer.json to its original content.

Expected Results:

No error on second part of the install with composer require

Best regards,
Julien.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.