PHPackages                             khelaia/php-epp-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. khelaia/php-epp-client

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

khelaia/php-epp-client
======================

Object-oriented PHP EPP Client

1.0.13(1y ago)113MITPHPPHP ^7|^8.0

Since Oct 8Pushed 1y agoCompare

[ Source](https://github.com/khelaia/php-epp-client)[ Packagist](https://packagist.org/packages/khelaia/php-epp-client)[ Docs](https://github.com/metaregistrar/php-epp-client)[ RSS](/packages/khelaia-php-epp-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (19)Used By (0)

PHP EPP Client
==============

[](#php-epp-client)

[![Latest Stable Version](https://camo.githubusercontent.com/f8c8c9259a2d19b1108e8777a72b95e95f59d48585470efc73091f0a3e6e4fc6/68747470733a2f2f706f7365722e707567782e6f72672f6d6574617265676973747261722f7068702d6570702d636c69656e742f762f737461626c65)](https://packagist.org/packages/metaregistrar/php-epp-client)[![Total Downloads](https://camo.githubusercontent.com/0feb9b51b73b58eaaebbda7d6f648f8374fd307188bb0701ff67394eb3b691cf/68747470733a2f2f706f7365722e707567782e6f72672f6d6574617265676973747261722f7068702d6570702d636c69656e742f646f776e6c6f616473)](https://packagist.org/packages/metaregistrar/php-epp-client)[![Latest Unstable Version](https://camo.githubusercontent.com/aca07953a5cf06df94c28b1c43476d81a5775c86665fc0e16ce8c7c576c6e8a8/68747470733a2f2f706f7365722e707567782e6f72672f6d6574617265676973747261722f7068702d6570702d636c69656e742f762f756e737461626c65)](https://packagist.org/packages/metaregistrar/php-epp-client)

**Object-oriented PHP EPP Client.**

Welcome to the "object-oriented EPP client in PHP" project.

This project supports the following:
------------------------------------

[](#this-project-supports-the-following)

- Full EPP 57xx RFC standard
- Extensible PHP objects to add registry-specific additions
- Rock-solid object-oriented programming, object inheritance and exception handling
- Interface tested and in use with a registrar that handles 600.000+ domain names
- Public/private key client certificates for connecting to EPP service (for example see Registries/IIS)
- Connection to EPP via HTTP/SSL (for example see Registries/Openprovider)
- DNSSEC transactions
- Registry sunrise, landrush and claims periods (draft-ietf-eppext-launchphase)
- TMCH/TMDB CNIS retrieval examples with standard ICANN registrar message

This code will provide you with a fully functional EPP client to connect to any registry world-wide that supports EPP. All code is organized in objects, so connecting to a new registry is just a matter of object re-use and extension. Sample registry connections are provided in the Registries directory.

---

Currently supported registries:

- SIDN (.nl)
- dotAmsterdam
- Donuts
- EurID (.eu)
- DNS Belgium (.be .vlaanderen .brussels)
- .CO.NL
- dotFRL
- IIS (.nu and .se)
- CarDNS (.hr)
- Metaregistrar
- Nic.AT (.at)
- Key Systems RRPPROXY
- .PT
- Switch (.ch)
- Openprovider
- Ficora (.fi)
- DNS.PT (.pt)
- Norid (.no)
- Arnes (.si)
- Nic.lv (.lv)

All code changes are tested automatically with the phpunit tests in the Tests directory

Example scipts in the main directory:

FileDescriptioncheckdomain.phpCheck one domain name.timeddomaincheck.phpCheck multiple domain names and check how fast the registry is.registerdomain.phpRegister a domain name.changepassword.phpChange EPP password.infodomain.phpGet information on a domain name.modifydomain.phpUpdate a domain name with new info.createcontact.phpCreate a contact object.updatecontact.phpUpdate contact details of a created contact object.createdomain.phpRegister a domain name in general availability phase.signdomain.phpDNSSEC sign a domain name.poll.phpList registry poll messages and confirm a message.checklaunchdomain.phpCheck domain name in 'claims' phase of draft-ietf-eppext-launchphase and check if the domain is free.createlaunchdomain.phpRegister domain name in 'claims' phase of draft-ietf-eppext-launchphase.checktmchdomain.phpCheck domain name in the 'claims' phase and check if the domain has a claim and retrieve the cnis info from the TMCH.test-claim.phpConnect to the TMCH test service and retrieve the list of domain names, query cnis info and display icann std warning msg.createclaimeddomain.phpCreate domain name that has a tmch claim in the claims phase of the launch.How to use this repository
--------------------------

[](#how-to-use-this-repository)

1. Check out the latest version from github. (Or `composer require metaregistrar/php-epp-client`)
2. Use the `Examples/checkdomain.php` and create a connection to your favorite registry (for example `new Metaregistrar\EPP\metaregEppConnection()`).
3. Create a `settings.ini` in with the following contents:

```
        interface=eppConnection
        hostname=ssl://epp-ote.metaregistrar.com
        port=7000
        userid=xxxxxxxx
        password=xxxxxxxxx
        logging=true
        certificatefile=/home/xxxxxx/xxxxxxx.pem
        certificatepassword=xxxxxxx
        verifypeer=true/false
        verifypeername=true/false
        allowselfsigned=true/false

```

4. Now, `checkdomain.php` should be functioning and checking domains.

**If** you do not want to use `settings.ini` files in the Registries directory, you can create a connection as follows: `$conn = Metaregistrar\EPP\eppConnection::create('path-to-settings.ini');`

Or set all parameters individually:

```
$conn = new Metaregistrar\EPP\eppConnection();
$conn->setHostname('ssl://epp-ote.metaregistrar.com'); // Hostname may vary depending on the registry selected
$conn->setPort(7000); // Port may vary depending on the registry selected
$conn->setUsername('xxxxxxxx');
$conn->setPassword('xxxxxxxxx');

```

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 79.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~241 days

Recently: every ~427 days

Total

14

Last Release

729d ago

PHP version history (4 changes)1.0.0PHP &gt;=5.3

1.0.3PHP &gt;=5.4

1.0.7PHP ^7

1.0.11PHP ^7|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e3bdd64530229685d4534b0d3421910177583e5c76eda2979a05225d84b84a4e?d=identicon)[khelaia](/maintainers/khelaia)

---

Top Contributors

[![metaregistrar](https://avatars.githubusercontent.com/u/3437914?v=4)](https://github.com/metaregistrar "metaregistrar (586 commits)")[![alexrsagen](https://avatars.githubusercontent.com/u/4870800?v=4)](https://github.com/alexrsagen "alexrsagen (46 commits)")[![thomasmeike](https://avatars.githubusercontent.com/u/7045954?v=4)](https://github.com/thomasmeike "thomasmeike (16 commits)")[![aksl](https://avatars.githubusercontent.com/u/11601427?v=4)](https://github.com/aksl "aksl (10 commits)")[![dimitri-khelaia](https://avatars.githubusercontent.com/u/97335737?v=4)](https://github.com/dimitri-khelaia "dimitri-khelaia (10 commits)")[![webdevvie](https://avatars.githubusercontent.com/u/6097722?v=4)](https://github.com/webdevvie "webdevvie (9 commits)")[![spacecodeit](https://avatars.githubusercontent.com/u/25511964?v=4)](https://github.com/spacecodeit "spacecodeit (9 commits)")[![jansen-s](https://avatars.githubusercontent.com/u/28800130?v=4)](https://github.com/jansen-s "jansen-s (7 commits)")[![W0rma](https://avatars.githubusercontent.com/u/20659830?v=4)](https://github.com/W0rma "W0rma (7 commits)")[![NikoGrano](https://avatars.githubusercontent.com/u/4658966?v=4)](https://github.com/NikoGrano "NikoGrano (5 commits)")[![php-bhosted](https://avatars.githubusercontent.com/u/206213661?v=4)](https://github.com/php-bhosted "php-bhosted (3 commits)")[![sfenne](https://avatars.githubusercontent.com/u/2726664?v=4)](https://github.com/sfenne "sfenne (3 commits)")[![wevothere120](https://avatars.githubusercontent.com/u/13237780?v=4)](https://github.com/wevothere120 "wevothere120 (3 commits)")[![jmalinens](https://avatars.githubusercontent.com/u/569039?v=4)](https://github.com/jmalinens "jmalinens (2 commits)")[![ivan1986](https://avatars.githubusercontent.com/u/156418?v=4)](https://github.com/ivan1986 "ivan1986 (2 commits)")[![ikulis](https://avatars.githubusercontent.com/u/1073778?v=4)](https://github.com/ikulis "ikulis (2 commits)")[![djurred](https://avatars.githubusercontent.com/u/38034337?v=4)](https://github.com/djurred "djurred (2 commits)")[![timbuku](https://avatars.githubusercontent.com/u/3136379?v=4)](https://github.com/timbuku "timbuku (2 commits)")[![RiRe](https://avatars.githubusercontent.com/u/7419386?v=4)](https://github.com/RiRe "RiRe (2 commits)")[![pkaz](https://avatars.githubusercontent.com/u/496777?v=4)](https://github.com/pkaz "pkaz (2 commits)")

---

Tags

xmldomainsepp

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/khelaia-php-epp-client/health.svg)

```
[![Health](https://phpackages.com/badges/khelaia-php-epp-client/health.svg)](https://phpackages.com/packages/khelaia-php-epp-client)
```

###  Alternatives

[masterminds/html5

An HTML5 parser and serializer.

1.8k242.8M229](/packages/masterminds-html5)[jms/serializer

Library for (de-)serializing data of any complexity; supports XML, and JSON.

2.3k135.8M851](/packages/jms-serializer)[jms/metadata

Class/method/property metadata management in PHP

1.8k152.8M88](/packages/jms-metadata)[jms/serializer-bundle

Allows you to easily serialize, and deserialize data of any complexity

1.8k89.3M627](/packages/jms-serializer-bundle)[metaregistrar/php-epp-client

Object-oriented PHP EPP Client

229121.0k8](/packages/metaregistrar-php-epp-client)[sabre/xml

sabre/xml is an XML library that you may not hate.

52832.2M131](/packages/sabre-xml)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
