ece-tools icon indicating copy to clipboard operation
ece-tools copied to clipboard

str_replace(): Argument #3 ($subject) must be of type array|string, int given

Open Vormillion opened this issue 2 years ago • 4 comments

Preconditions

  1. Magento 2.4.4 EE
  2. PHP 8.1
  3. ece-tools 2002.1.10

Steps to reproduce

  1. In Platform.sh create non-master environment which is child of master.
  2. Wait for deployment and error.

Expected result

  1. Deployment should pass and step "Updating secure and unsecure URLs in app/etc/env.php file" shouldn't break

Actual result

  1. Getting error message on environments where deployment process has to update base_urls:

09:26:32 [2022-05-16T07:26:32.096155+00:00] INFO: Updating secure and unsecure URLs 09:26:32 [2022-05-16T07:26:32.096223+00:00] INFO: Updating secure and unsecure URLs in core_config_data table. 09:26:32 [2022-05-16T07:26:32.098462+00:00] INFO: Updating secure and unsecure URLs in app/etc/env.php file 09:26:32 [2022-05-16T07:26:32.098831+00:00] INFO: Set flag: var/.deploy_is_failed 09:26:32 [2022-05-16T07:26:32.098906+00:00] ERROR: str_replace(): Argument #3 ($subject) must be of type array|string, int given 09:26:32 [2022-05-16T07:26:32.110349+00:00] INFO: Set flag: var/.deploy_is_failed 09:26:32 W: 09:26:32 W: In Processor.php line 129: 09:26:32 W:
09:26:32 W: str_replace(): Argument #3 ($subject) must be of type array|string, int giv
09:26:32 W: en
09:26:32 W:
09:26:32 W: 09:26:32 W: In Environment.php line 94: 09:26:32 W:
09:26:32 W: str_replace(): Argument #3 ($subject) must be of type array|string, int giv
09:26:32 W: en
09:26:32 W:
09:26:32 W: 09:26:32 W: deploy 09:26:32 W:

Vormillion avatar May 17 '22 08:05 Vormillion

@andriyShevtsov to create internal ticket

andriyShevtsov avatar May 31 '22 19:05 andriyShevtsov

I was able to fix this issue by making sure there is a "http://{default}/" route in .magento/routes.yaml. So there is probably an issue with the MAGENTO_CLOUD_ROUTES variable. However, I think the code should not assume anything and gracefully handle the situation (or echo an error/hint).

phoenix-bjoern avatar Jun 04 '22 12:06 phoenix-bjoern

@phoenix-bjoern could you provide .magento/routes.yaml to reproduce it? Just remove this section?

"http://{default}/":
    type: upstream
    upstream: "mymagento:http"

BaDos avatar Jun 29 '22 19:06 BaDos

The internal task MCLOUD-8941 was created

BaDos avatar Jun 29 '22 19:06 BaDos