Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Locate Binaries

Locate Binaries Laravel Package

rosell-dk/locate-binaries

Locate binaries on the system from PHP. Cross-platform, it searches common install paths on Windows, macOS and Linux, resolves executable extensions like .exe and .bat, accepts extra directories, and verifies files are runnable. Handy when shell_exec on a bare binary name fails.

Deep Wiki
Context7

rosell-dk/locate-binaries is a small PHP utility for finding the full path to executable binaries on a system, without relying on shell_exec or hardcoded locations. It searches common system directories and PATH entries to resolve commands such as ffmpeg, curl, or convert, making scripts more portable across environments.

  • Resolves binary names to absolute filesystem paths
  • Checks PATH and standard system directories
  • Avoids shell execution for safer, more predictable lookups
  • Useful when integrating external tools in PHP applications
  • Simple, dependency-free API
Frequently asked questions about Locate Binaries
What is rosell-dk/locate-binaries used for in Laravel?
It is a small PHP library for locating executables on the system by using exec(), checking PATH and common install locations. In a Laravel application it helps CLI-dependent features discover tools such as image optimizers and either return the binary path or report that it is unavailable. You can use it in services, console commands, jobs, or any code that needs to know whether a required program exists.
How do I install rosell-dk/locate-binaries in a Laravel project?
Install it with Composer as a normal dependency, for example composer require rosell-dk/locate-binaries. Laravel uses Composer autoloading, so the library's classes become available without copying files into your app. Commit your composer.json and composer.lock changes so other environments install the same version.
Does this package require a Laravel service provider or configuration file?
The provided overview does not mention a Laravel service provider or a configuration file. It is described as a plain PHP library, so the typical Laravel approach is to use it directly in your own service, command, or helper rather than expecting package auto-discovery. Check the package README for any optional configuration before adding custom setup.
Which Laravel and PHP versions are supported by locate-binaries?
This is a PHP library rather than a Laravel-specific package, so its main compatibility constraint is the PHP version declared in its composer.json. Any Laravel version running a compatible PHP version can use it through Composer. Review the package metadata for the exact PHP requirement before installing it in an older Laravel application.
How does locate-binaries find image optimizers and other executables?
The library uses exec() to query the system and checks PATH plus common installation locations for the requested binary. That makes it useful for finding tools such as image optimizers without hardcoding a single absolute path. If the binary is not found, the library can indicate that it is unavailable so your application can handle the missing dependency.
Can I configure custom search paths or binary locations with rosell-dk/locate-binaries?
The provided overview does not describe configuration options or custom search paths. The library is presented as a focused locator that checks PATH and common install locations rather than a full binary-management system. Consult the README for supported arguments or options, and wrap the call in your own Laravel service if you need application-specific fallback paths.
How should I test code that uses locate-binaries in a Laravel test suite?
Binary discovery depends on the machine running the code, so tests should not assume that a real optimizer or CLI tool is installed. Put the locator behind a small interface or service and bind a fake in Laravel's container that returns known paths or an unavailable result. Use integration tests only when you control the environment and can guarantee the binary's presence.
Is rosell-dk/locate-binaries safe to use in production?
The library is described as locating binaries by checking PATH and common install locations, not installing or modifying them. In production, handle the unavailable case explicitly so image optimization or other CLI-dependent features fail gracefully. Also make sure the PHP process user has a suitable PATH and permission to see the relevant install locations.
What are alternatives to rosell-dk/locate-binaries for finding executables in PHP?
Common alternatives include using Symfony Process to run which or where, calling shell_exec directly, or using package-specific binary finders. This package is a good fit when you want a small, focused locator that checks PATH and common install locations with minimal setup. Avoid building your own locator only if you need cross-platform edge cases that the package already handles.
How is rosell-dk/locate-binaries maintained and when should I use it?
It is a small utility from rosell-dk, and maintenance should be judged from its Composer metadata and release history, which the provided repository data does not show. Pin a version in composer.lock and review the README before relying on it for critical production checks. If you only need a simple PATH lookup, a short Symfony Process or exec() wrapper may be enough.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core