v0.4.0 — Composer bundled & PHP extensions
Highlights
🎼 Composer bundled out of the box — Closes #1
The composer.phar (2.8.5) is now embedded in the binary and materialized
into C:\laraenv\composer\ automatically on first launch. No download, no
manual PATH setup — just install a PHP version, open the integrated
terminal and composer install works.
A second LTS entry (Composer 2.2.25) is also available from Libs / Tools
for projects pinned to older PHP versions.
📦 Eager-fetch of PHP extensions
Right after a PHP version finishes installing, LaraEnv now copies a curated
set of ~25 popular extensions out of the cached zip into ext/ — so toggling
them on/off in the UI never hits a "no DLL" error again. Includes:
openssl, curl, mbstring, fileinfo, intl, gd, pdo_mysql, pdo_pgsql, pdo_sqlite, sqlite3, mysqli, pgsql, zip, exif, sockets, soap, bcmath, gmp, sodium, xsl, ldap, ftp, calendar, shmop, tidy
🐞 PECL extensions support (Windows builds)
New section in the Extensions modal lets you install PECL extensions in one
click. Curated catalog with pinned versions per PHP series:
- xdebug (Zend) — step debugger & profiler
- redis — Redis client
- mongodb — MongoDB driver
- apcu — user-land in-memory cache
- imagick — ImageMagick bindings (companion DLLs auto-extracted)
- swoole — Laravel Octane runtime
- memcached — Memcached client
DLLs are downloaded from windows.php.net/downloads/pecl/ and the matching
ini directive (extension= or zend_extension=) is written automatically.
Bug fixes
bcmath(and other extensions) reported as missing despite being
installed. Root cause: the generatedphp.iniset
extension_dir = "ext"(relative). PHP on Windows resolves a relative
extension_diragainst the current working directory, not the PHP
install folder — so anyphpinvocation from outside the install dir
failed to load every bundled extension. Fixed by writing an absolute
path (extension_dir = "C:/laraenv/php/<version>/ext").
Install
Download LaraEnv-0.4.0.msi from the assets below. Verify with the
SHA-256 checksum in LaraEnv-0.4.0.msi.sha256. Existing installs will
auto-update via the in-app updater.
Full Changelog: v0.3.7...v0.4.0