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

Php Whois Laravel Package

setechsolutions/php-whois

A PHP package for performing WHOIS lookups on domains, retrieving registration and ownership details from WHOIS servers. Useful for domain availability checks, expiry information, and DNS-related tooling in Laravel or plain PHP applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Domain availability / search-at-signup: isAvailable() and a null from lookup() give a "not registered" signal without a third-party API key or per-query cost — a genuine build-vs-buy lever for a low/medium-volume feature.
  • Expiry, renewal and churn-prevention flows: expiresAt() returns DateTimeImmutable (or null when a registry doesn't publish it), which is directly schedulable: reminder cadences, renewal nudges, abandonment emails.
  • Portfolio monitoring / risk alerts: scheduled jobs can diff registrar, statuses and nameservers over time to flag clientHold, pendingDelete or hijack-adjacent changes for customers holding domains with us.
  • Brand-protection and lead-gen surfaces: watchlists of brand-adjacent or competitor domains become cheap to build once lookups are in-process.
  • Roadmap / platform bet: RDAP-first with WHOIS fallback aligns with where registries are standardizing (WHOIS port 43 is being retired). A WHOIS-only library is the higher-regret choice; this one is the lower-regret bet.
  • Cost structure: self-hosted and open source — attractive for cost-sensitive tiers or as a fallback under a commercial API, and no vendor contract to procure.
  • Time-to-first-value: Laravel auto-discovery, a Whois facade with zero setup, and env-configurable WHOIS_MODE / WHOIS_TIMEOUT mean a thin slice can ship without infra or platform work.
  • Migration decision (explicit, not implicit): 5.0 drops the Iodev\ namespace and the replace entry for io-developer/php-whois. Any product area relying on this as a drop-in replacement is now on a legacy branch — that is a roadmap item, not a composer bump.

When to Consider This Package

Adopt when:

  • You are on Laravel 6–13 or plain PHP 7.2.5–8.5 and want domain data inside the app rather than behind a vendor API.
  • Lookup volume is modest, cacheable and queue-able; you can tolerate registry latency and throttling.
  • You need standard fields only: domain, registrar, owner, created/updated/expiry, statuses, nameservers, raw text.
  • You want explicit failure semantics — InvalidDomainException, UnsupportedTldException, ConnectionException, RateLimitException — rather than silent nulls, so availability results never get conflated with errors.

Look elsewhere or plan around it when:

  • High volume or SLA-bound lookups. RDAP is unauthenticated and rate-limited; a commercial API is the safer operational answer. This package is the cheap tier, not the guaranteed one.
  • You need registrant PII. GDPR redaction means contact data is frequently withheld — don't build a product on it.
  • You need IP/ASN WHOIS. Removed in 5.0; 4.x had it.
  • You need the drop-in io-developer/php-whois replacement. That contract is gone in 5.0; you must stay on ^4.2 (the 4.x branch) and accept it as a maintenance dead-end. Make this a conscious decision with an owner.
  • You need caching out of the box. MemcachedLoader is removed; you cache DomainInfo::toArray() yourself. Budget for it.
  • You are already on 4.x. Upgrade is a scoped migration: new namespace, renamed methods, options-as-array, renamed modes, new exception names, and dates that are now null instead of 0/'' — the last one will break naive comparisons in renewal logic if it isn't audited.
  • You can't verify the support matrix. Laravel 13 is ahead of the current release line, and Laravel 6 is long EOL — broad compatibility is a convenience, not a recommendation. Validate against your actual version before quoting it.

How to Pitch It (Stakeholders)

Executives: We can add domain availability, expiry and registrar intelligence to the product with no per-lookup vendor cost and no new infrastructure — it's an open-source PHP library that drops into the Laravel app we already run. The honest framing: registry lookups are best-effort and rate-limited, so we wrap them in caching and never let a single lookup drive a purchase decision; the RDAP-first design puts us on the protocol registries are standardizing on rather than the one being retired. The business case is cost avoidance versus a commercial WHOIS API at our volume. One caveat to fund: 5.0 is a breaking rebuild, so any existing integration is a small, time-boxed migration with an owner and date, and teams needing the old drop-in behavior stay pinned to 4.x as legacy.

Engineering: 5.0 is a clean modern API — immutable DomainInfo, DateTimeImmutable dates, JSON-serializable results (cache-friendly), a typed exception hierarchy you can branch retry/backoff on, array options, and a publishable config/whois.php. No Laravel dependency, so the same code runs in queues, cron and CLI. What we need from you: pin ^5.0; add a TTL cache keyed by domain and queue lookups behind a rate limiter; handle RateLimitException with backoff; check TLD coverage via UnsupportedTldException before we promise a market; and confirm the Laravel 13 claim against our installed version rather than trusting the matrix. For the 4.x migration, audit every place we compare dates or read ->creationDate / ->expirationDate, since those values are now nullable objects.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib