@lando/php 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## {{ UNRELEASED_VERSION }} - [{{ UNRELEASED_DATE }}]({{ UNRELEASED_LINK }})
2
2
 
3
+ ## v1.11.0 - [February 19, 2026](https://github.com/lando/php/releases/tag/v1.11.0)
4
+
5
+ * Fixed database client auto-detection for recipe-based services [#223](https://github.com/lando/php/pull/223)
6
+
3
7
  ## v1.10.0 - [February 18, 2026](https://github.com/lando/php/releases/tag/v1.10.0)
4
8
 
5
9
  * Added database client auto-detection and version matching [#212](https://github.com/lando/php/pull/212)
package/builders/php.js CHANGED
@@ -68,11 +68,11 @@ const detectDatabaseClient = (options, debug = () => {}) => {
68
68
 
69
69
  for (const service of Object.values(services)) {
70
70
  const type = service?.type || '';
71
- // Match mysql:X, mysql:X.Y, or mysql:X.Y.Z formats
72
- const mysqlMatch = type.match(/^mysql:(\d+(?:\.\d+)?)/);
71
+ // Match mysql:X or recipe-mysql:X (e.g., backdrop-mysql:8.0, drupal-mysql:8.4)
72
+ const mysqlMatch = type.match(/(?:^|-)mysql:(\d+(?:\.\d+)?)/);
73
73
  if (mysqlMatch && !mysqlVersion) mysqlVersion = mysqlMatch[1];
74
- // Match mariadb:X, mariadb:X.Y, or mariadb:X.Y.Z formats
75
- const mariaMatch = type.match(/^mariadb:(\d+(?:\.\d+)?)/);
74
+ // Match mariadb:X or recipe-mariadb:X (e.g., backdrop-mariadb:10.6, drupal-mariadb:11.4)
75
+ const mariaMatch = type.match(/(?:^|-)mariadb:(\d+(?:\.\d+)?)/);
76
76
  if (mariaMatch && !mariaVersion) mariaVersion = mariaMatch[1];
77
77
  }
78
78
 
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -66,6 +66,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
67
67
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
68
68
 
69
+ # Ensure required MySQL client shared libraries are present
70
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
72
+
69
73
  RUN \
70
74
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
71
75
  && apt-get -y clean \
@@ -65,6 +65,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
65
65
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
67
67
 
68
+ # Ensure required MySQL client shared libraries are present
69
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
70
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+
68
72
  RUN \
69
73
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
70
74
  && apt-get -y clean \
@@ -66,6 +66,10 @@ COPY --from=mysql-client-84 /usr/bin/mysql /usr/local/mysql-client/8.4/mysql
66
66
  COPY --from=mysql-client-84 /usr/bin/mysqldump /usr/local/mysql-client/8.4/mysqldump
67
67
  COPY --from=mysql-client-84 /usr/bin/mysqladmin /usr/local/mysql-client/8.4/mysqladmin
68
68
 
69
+ # Ensure required MySQL client shared libraries are present
70
+ COPY --from=mysql-client-80 /usr/lib64/libmysqlclient.so* /usr/lib/
71
+ COPY --from=mysql-client-84 /usr/lib64/libmysqlclient.so* /usr/lib/
72
+
69
73
  RUN \
70
74
  chsh -s /bin/bash www-data && mkdir -p /var/www/.composer && chown -R www-data:www-data /var/www \
71
75
  && apt-get -y clean \
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lando/php",
3
3
  "description": "A Lando plugin that provides a tight integration with PHP.",
4
- "version": "1.10.0",
4
+ "version": "1.11.0",
5
5
  "author": "Mike Pirog @pirog",
6
6
  "license": "MIT",
7
7
  "repository": "lando/php",
@@ -66,9 +66,9 @@
66
66
  "semver"
67
67
  ],
68
68
  "dist": {
69
- "integrity": "sha512-KI1gTQPz98mOetlZpUMjzxZas/yF8quXdzY9QCV+Yqe2FKmG+8vFgvCViMeiRzevKVXAVpfRiXb5InH3gnyq/g==",
70
- "shasum": "85545d2e4b9dc77cc8b771899b1fbdb2e4883c4e",
71
- "filename": "lando-php-1.10.0.tgz",
72
- "unpackedSize": 3057365
69
+ "integrity": "sha512-DXgh9l91jzrUk7wGgfTLLdlHzWnILc+VNJzPqtiTLa6sx9APcbUTQO4ns4efDjto64+cyRYqiyMSGAxrEmP/TA==",
70
+ "shasum": "bbaaf72ebdb5eaf2e8f94157cbad92022356e662",
71
+ "filename": "lando-php-1.11.0.tgz",
72
+ "unpackedSize": 3058868
73
73
  }
74
74
  }
@@ -35,8 +35,8 @@ default-character-set=utf8mb4
35
35
  disable-ssl-verify-server-cert
36
36
 
37
37
  [mysqldump]
38
- # Prevent column-statistics errors with newer mysqldump
39
- skip-column-statistics
38
+ # MySQL 8 uses this; MariaDB safely ignores it via loose- prefix
39
+ loose-skip-column-statistics
40
40
  MYCNF
41
41
 
42
42
  echo "MariaDB compatibility wrappers installed"
@@ -56,4 +56,7 @@ default-character-set=utf8mb4
56
56
  skip-column-statistics
57
57
  MYCNF
58
58
 
59
- mysql --version 2>/dev/null || echo "Warning: MySQL client not available"
59
+ if ! mysql --version 2>/dev/null; then
60
+ echo "Error: MySQL client not available after activation"
61
+ exit 1
62
+ fi