Download the PHP package internal/dload without Composer
On this page you can find all versions of the php package internal/dload. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download internal/dload
More information about internal/dload
Files in internal/dload
Package dload
Short Description Downloads binaries.
License BSD-3-Clause
Informations about the package dload
Download artifacts easily
DLoad simplifies downloading and managing binary artifacts for your projects. Perfect for development environments that require specific tools like RoadRunner, Temporal, or custom binaries.
Why DLoad?
DLoad solves a common problem in PHP projects: how to distribute and install necessary binary tools and assets alongside your PHP code. With DLoad, you can:
- Automatically download required tools during project initialization
- Ensure all team members use the same versions of tools
- Simplify onboarding by automating environment setup
- Manage cross-platform compatibility without manual configuration
- Keep binaries and assets separate from your version control
Table of Contents
- Installation
- Quick Start
- Command Line Usage
- Initialize Configuration
- Download Software
- View Software
- Build Custom Software
- Configuration Guide
- Interactive Configuration
- Manual Configuration
- Download Types
- Version Constraints
- Advanced Configuration Options
- Building Custom RoadRunner
- Build Action Configuration
- Velox Action Attributes
- Build Process
- Configuration File Generation
- Using Downloaded Velox
- DLoad Configuration
- Building RoadRunner
- Custom Software Registry
- Defining Software
- Software Elements
- Use Cases
- Development Environment Setup
- New Project Setup
- CI/CD Integration
- Cross-Platform Teams
- PHAR Tools Management
- Frontend Asset Distribution
- GitHub API Rate Limits
- Contributing
Installation
Quick Start
- Install DLoad via Composer:
Alternatively, you can download the latest release from GitHub releases.
-
Create your configuration file interactively:
This command will guide you through selecting software packages and create a
dload.xml
configuration file. You can also create it manually: -
Download configured software:
- Integrate with Composer (optional):
Command Line Usage
Initialize Configuration
Download Software
Download Options
Option | Description | Default |
---|---|---|
--path |
Directory to store binaries | Current directory |
--arch |
Target architecture (amd64, arm64) | System architecture |
--os |
Target OS (linux, darwin, windows) | Current OS |
--stability |
Release stability (stable, beta) | stable |
--config |
Path to configuration file | ./dload.xml |
--force , -f |
Force download even if binary exists | false |
View Software
Build Custom Software
Build Options
Option | Description | Default |
---|---|---|
--config |
Path to configuration file | ./dload.xml |
The build
command executes build actions defined in your configuration file, such as creating custom RoadRunner binaries with specific plugins.
For detailed information about building custom RoadRunner, see the Building Custom RoadRunner section.
Configuration Guide
Interactive Configuration
The easiest way to create a configuration file is using the interactive init
command:
This will:
- Guide you through selecting software packages
- Show available software with descriptions and repositories
- Generate a properly formatted
dload.xml
file with schema validation - Handle existing configuration files gracefully
Manual Configuration
Create dload.xml
in your project root:
Download Types
DLoad supports three download types that determine how assets are processed:
Type Attribute
Default Behavior (No Type Specified)
When type
is not specified, DLoad automatically uses all available handlers:
- Binary processing: If software has
<binary>
section, performs binary presence and version checking - Files processing: If software has
<file>
section and asset is downloaded, processes files during unpacking - Simple download: If no sections exist, downloads asset without unpacking
Explicit Type Behaviors
Type | Behavior | Use Case |
---|---|---|
binary |
Binary checking, version validation, executable permissions | CLI tools, executables |
phar |
Downloads .phar files as executables without unpacking |
PHP tools like Psalm, PHPStan |
archive |
Forces unpacking even for .phar files | When you need archive contents |
[!NOTE] Use
type="phar"
for PHP tools that should remain as.phar
files. Usingtype="archive"
will unpack even.phar
archives.
Version Constraints
Use Composer-style version constraints:
Advanced Configuration Options
Building Custom RoadRunner
DLoad supports building custom RoadRunner binaries using the Velox build tool. This is useful when you need RoadRunner with custom plugin combinations that aren't available in pre-built releases.
Build Action Configuration
Velox Action Attributes
Attribute | Description |
---|---|
velox-version |
Version constraint for the Velox build tool to use |
golang-version |
Go version constraint required for building RoadRunner |
roadrunner-ref |
RoadRunner Git reference (tag, commit, or branch) to use as the base for building |
config-file |
Path to base configuration file that may be merged with remote API responses or other sources |
binary-path |
Output path for the built RoadRunner binary. File extension is automatically added based on OS (.exe for Windows). Defaults to current working directory |
debug |
Build RoadRunner with debug symbols to profile it with pprof (boolean, defaults to false ) |
Build Process
DLoad automatically handles the build process:
- Golang Check: Verifies Go is installed globally (required dependency)
- Velox Preparation: Uses Velox from global installation, local download, or downloads automatically if needed
- Configuration: Copies your local velox.toml to build directory
- Building: Executes
vx build
command with specified configuration - Installation: Moves built binary to target location and sets executable permissions
- Cleanup: Removes temporary build files
[!NOTE] DLoad requires Go (Golang) to be installed globally on your system. It does not download or manage Go installations.
Configuration File Generation
You can generate a velox.toml
configuration file using the online builder at https://build.roadrunner.dev/
For detailed documentation on Velox configuration options and examples, visit https://docs.roadrunner.dev/docs/customization/build
This web interface helps you select plugins and generates the appropriate configuration for your custom RoadRunner build.
Using Downloaded Velox
You can download Velox as part of your build process instead of relying on a globally installed version:
This ensures consistent Velox versions across different environments and team members.
DLoad Configuration
Building RoadRunner
Custom Software Registry
Defining Software
Software Elements
Repository Configuration
- type: Currently supports "github"
- uri: Repository path (e.g., "username/repo")
- asset-pattern: Regex pattern to match release assets
Binary Elements
- name: Binary name for reference
- pattern: Regex pattern to match binary in assets
- Automatically handles OS/architecture filtering
File Elements
- pattern: Regex pattern to match files
- extract-path: Optional extraction directory
- Works on any system (no OS/architecture filtering)
Use Cases
Development Environment Setup
New Project Setup
CI/CD Integration
Cross-Platform Teams
Each developer gets the correct binaries for their system:
PHAR Tools Management
Frontend Asset Distribution
GitHub API Rate Limits
Use a personal access token to avoid rate limits:
Add to CI/CD environment variables for automated downloads.
Contributing
Contributions welcome! Submit Pull Requests to:
- Add new software to the predefined registry
- Improve DLoad functionality
- Enhance documentation and translate this on other languages
All versions of dload with dependencies
composer/semver Version ^3.4
nyholm/psr7 Version ^1.8
psr/container Version 1 - 2
psr/http-client Version ^1.0
react/async Version ^3.2 || ^4.3
react/promise Version ^2.10 || ^3.2
symfony/console Version ^6.4 || ^7
symfony/http-client Version ^4.4 || ^5.4 || ^6.4 || ^7
yiisoft/injector Version ^1.2