Skip to content

[Bug]: herd share prints PHP 8.5 deprecation notices from bundled Expose phar #1736

Description

@nickdekruijk

Platform

macOS

Operating system version

macOS 26.5.2 (25F84)

System architecture

ARM64 (M1, M2, etc)

Herd Version

1.29.0

PHP Version

PHP 8.5.8 (cli) (built: Jul 6 2026 06:38:54) (NTS clang 15.0.0)

Bug description

Running herd share on PHP 8.5 prints four PHP deprecation notices before the tunnel starts. They come from the laravel-zero code inside the bundled Expose phar, not from the shared site.

Two distinct deprecations:

  1. PDO::MYSQL_ATTR_SSL_CA is deprecated as of PHP 8.5 in favour of Pdo\Mysql::ATTR_SSL_CA, used twice in laravel-zero/foundation/config/database.php (lines 61 and 81).
  2. ReflectionProperty::setAccessible() is deprecated as of PHP 8.5 (it has been a no-op since PHP 8.1), called twice in laravel-zero/framework/src/Kernel.php (lines 212 and 214).

The tunnel itself works fine, so this is cosmetic: the notices just precede the share URL and make the output noisy. Expected: herd share produces no deprecation output on PHP 8.5.

Probably fixed by updating the laravel-zero dependencies in the Expose build that ships with Herd.

Steps to reproduce

  1. Set a site to PHP 8.5 (or have PHP 8.5 as the default CLI version).
  2. Run herd share in that site's directory.
  3. The deprecation notices appear before the Expose UI.

Relevant log output

Deprecated: Constant PDO::MYSQL_ATTR_SSL_CA is deprecated since 8.5, use Pdo\Mysql::ATTR_SSL_CA instead in phar:///Users//Library/Application Support/Herd/bin/expose/vendor/laravel-zero/foundation/config/database.php on line 61

Deprecated: Constant PDO::MYSQL_ATTR_SSL_CA is deprecated since 8.5, use Pdo\Mysql::ATTR_SSL_CA instead in phar:///Users//Library/Application Support/Herd/bin/expose/vendor/laravel-zero/foundation/config/database.php on line 81
[2026-08-11 07:00:02] production.WARNING: Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1 in phar:///Users//Library/Application Support/Herd/bin/expose/vendor/laravel-zero/framework/src/Kernel.php on line 212
[2026-08-11 07:00:02] production.WARNING: Method ReflectionProperty::setAccessible() is deprecated since 8.5, as it has no effect since PHP 8.1 in phar:///Users//Library/Application Support/Herd/bin/expose/vendor/laravel-zero/framework/src/Kernel.php on line 214

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions