PHPackages                             acmephp/acmephp - 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. [CLI &amp; Console](/categories/cli)
4. /
5. acmephp/acmephp

ActiveProject[CLI &amp; Console](/categories/cli)

acmephp/acmephp
===============

Let's Encrypt client written in PHP

2.1.0(3y ago)649155.1k—1.2%116[10 issues](https://github.com/acmephp/acmephp/issues)[9 PRs](https://github.com/acmephp/acmephp/pulls)MITPHPPHP &gt;=7.2.5CI failing

Since Jun 22Pushed 1y ago11 watchersCompare

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

READMEChangelog (10)Dependencies (27)Versions (27)Used By (0)

Acme PHP
========

[](#acme-php)

[![Build Status](https://camo.githubusercontent.com/db3367384b0354828ae86bf5781fd7011c21386e090d9b51b9e16d20c627abe7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f61636d657068702f61636d657068702f746573742d6275696c642e79616d6c3f6272616e63683d6d6173746572267374796c653d666c61742d737175617265)](https://github.com/acmephp/acmephp/actions/workflows/test-build.yaml?query=branch%3Amaster)[![Packagist Version](https://camo.githubusercontent.com/756be0df93674fc6fb87a962bd96ddd8a6fce369ef6ffad0482b935736db2843/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f61636d657068702f61636d657068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/acmephp/acmephp)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE)

Acme PHP is a simple yet very extensible CLI client for Let's Encrypt that will help you get and renew free HTTPS certificates.

Acme PHP is also an initiative to bring a robust, stable and powerful implementation of the ACME protocol in PHP. Using the Acme PHP library and core components, you will be able to deeply integrate the management of your certificates directly in your application (for instance, renew your certificates from your web interface). If you are interested by these features, have a look at the [acmephp/core](https://github.com/acmephp/core) and [acmephp/ssl](https://github.com/acmephp/ssl) libraries.

> Acme PHP is now maintained by
>
> Other companies are welcome to contribute to the maintenance of the library. Thanks to:
>
> -

Why should I use Acme PHP when I have an official client?
---------------------------------------------------------

[](#why-should-i-use-acme-php-when-i-have-an-official-client)

Acme PHP provides several major improvements over the default clients:

- Acme PHP comes by nature as a single binary file: a single download and you are ready to start working ;
- Acme PHP is based on a configuration file instead command line arguments. Thus, the configuration is much more expressive and the same setup is used at every renewal ;
- Acme PHP is very extensible it to create the certificate files structure you need for your webserver. It brings several default formatters to create classical file structures (nginx, nginx-proxy, haproxy, etc.) but you can very easily create your own if you need to ;
- Acme PHP follows a strict BC policy preventing errors in your scripts or CRON even if you update it (see [the Backward Compatibility policy of Acme PHP](#backward-compatibility-policy) for more informations) ;

Documentation
-------------

[](#documentation)

Read the official [Acme PHP documentation](https://acmephp.github.io).

Backward Compatibility policy
-----------------------------

[](#backward-compatibility-policy)

Acme PHP follows a strict BC policy by sticking carefully to [semantic versioning](http://semver.org). This means your scripts, your CRON tasks and your code will keep working properly even when you update Acme PHP (either the CLI tool or the library), as long as you keep the same major version (1.X.X, 2.X.X, etc.).

Launch the Test suite
---------------------

[](#launch-the-test-suite)

The Acme PHP test suite uses the Docker Boulder image to create an ACME server. To launch the test suite, you need to setup the proper Docker environment for the suite. Useful scripts are available under the `tests` directory: in the Acme PHP root directory, execute the following:

```
# Create the Docker environment required for the suite
sudo tests/setup.sh

# Run the tests
tests/run.sh

# Clean the docker environment
tests/teardown.sh

```

**Note**: you may have boulder errors sometimes in tests. Simply ignore them and rerun the suite, they are due to an issue in the container DNS.

**Warning**: as the acmephp/testing-ca Docker image needs to be mapped to the host network, you may have ports conflicts. See for more informations.

Run command
-----------

[](#run-command)

The run command is an all in one command who works with a `domain`config file like

```
contact_email: contact@company
key_type: RSA                                          # RSA or EC (for ECDSA). Default "RSA"

defaults:
  distinguished_name:
      country: FR
      locality: Paris
      organization_name: MyCompany
  solver: http

certificates:
  - domain: example.com
    distinguished_name:
      organization_name: MyCompany Internal
    solver: route53
    subject_alternative_names:
      - '*.example.com'
      - www.subdomain.example.com
    install:
      - action: install_aws_elb
        region: eu-west-1
        loadbalancer: my_elb
  - domain: www.example.com
    solver:
      name: http-file
      adapter: ftp                                     # ftp or sftp or local, see https://flysystem.thephpleague.com/
      root: /var/www/
      host: ftp.example.com
      username: username
      password: password
      # port: 21
      # passive: true
      # ssl: true
      # timeout: 30
      # privateKey: path/to/or/contents/of/privatekey
```

usage

```
$ acmephp run path-to-config.yml
```

Using docker
------------

[](#using-docker)

You can also use the docker image to generate certificates. Certificates and keys are stored into the volume `/root/.acmephp`

```
docker run --rm -ti -v /cache/.acmephp:/root/.acmephp -v $PWD/.config.yml:/etc/acmephp.yml:ro acmephp/acmephp:latest run /etc/acmephp.yml

```

###  Health Score

50

—

FairBetter than 96% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity56

Moderate usage in the ecosystem

Community31

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

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 ~128 days

Recently: every ~135 days

Total

18

Last Release

1441d ago

Major Versions

1.x-dev → 2.0.02020-12-14

PHP version history (3 changes)1.0.0-alpha8PHP &gt;=5.5.0

1.0.1PHP &gt;=5.5.9

2.0.0PHP &gt;=7.2.5

### Community

Maintainers

![](https://www.gravatar.com/avatar/cdb7e7e2211ad208160b660f7fc869304a151bd92b82bae148c09f1cffa604bb?d=identicon)[tgalopin-old](/maintainers/tgalopin-old)

---

Top Contributors

[![tgalopin](https://avatars.githubusercontent.com/u/1651494?v=4)](https://github.com/tgalopin "tgalopin (161 commits)")[![jderusse](https://avatars.githubusercontent.com/u/578547?v=4)](https://github.com/jderusse "jderusse (109 commits)")[![SamMousa](https://avatars.githubusercontent.com/u/547021?v=4)](https://github.com/SamMousa "SamMousa (59 commits)")[![lyrixx](https://avatars.githubusercontent.com/u/408368?v=4)](https://github.com/lyrixx "lyrixx (23 commits)")[![xiaohuilam](https://avatars.githubusercontent.com/u/6964962?v=4)](https://github.com/xiaohuilam "xiaohuilam (19 commits)")[![Blackbam](https://avatars.githubusercontent.com/u/1703552?v=4)](https://github.com/Blackbam "Blackbam (13 commits)")[![alexsoft](https://avatars.githubusercontent.com/u/1451894?v=4)](https://github.com/alexsoft "alexsoft (5 commits)")[![benjilevens](https://avatars.githubusercontent.com/u/37897020?v=4)](https://github.com/benjilevens "benjilevens (4 commits)")[![elliotfehr](https://avatars.githubusercontent.com/u/5550991?v=4)](https://github.com/elliotfehr "elliotfehr (4 commits)")[![jankal](https://avatars.githubusercontent.com/u/6324332?v=4)](https://github.com/jankal "jankal (4 commits)")[![kirtangajjar](https://avatars.githubusercontent.com/u/8456197?v=4)](https://github.com/kirtangajjar "kirtangajjar (3 commits)")[![Grendel7](https://avatars.githubusercontent.com/u/1823324?v=4)](https://github.com/Grendel7 "Grendel7 (3 commits)")[![uphlewis](https://avatars.githubusercontent.com/u/43346009?v=4)](https://github.com/uphlewis "uphlewis (3 commits)")[![W0rma](https://avatars.githubusercontent.com/u/20659830?v=4)](https://github.com/W0rma "W0rma (3 commits)")[![piotrantosik](https://avatars.githubusercontent.com/u/154553?v=4)](https://github.com/piotrantosik "piotrantosik (2 commits)")[![mgriego](https://avatars.githubusercontent.com/u/186428?v=4)](https://github.com/mgriego "mgriego (2 commits)")[![bpolaszek](https://avatars.githubusercontent.com/u/5569077?v=4)](https://github.com/bpolaszek "bpolaszek (2 commits)")[![tbickley-mediabowl](https://avatars.githubusercontent.com/u/18013643?v=4)](https://github.com/tbickley-mediabowl "tbickley-mediabowl (1 commits)")[![TJP85](https://avatars.githubusercontent.com/u/3156231?v=4)](https://github.com/TJP85 "TJP85 (1 commits)")[![webii](https://avatars.githubusercontent.com/u/7016317?v=4)](https://github.com/webii "webii (1 commits)")

---

Tags

httpscliencryptionrsax509certificatecsropensslsslECDSAacmephpletsencryptACME

### Embed Badge

![Health badge](/badges/acmephp-acmephp/health.svg)

```
[![Health](https://phpackages.com/badges/acmephp-acmephp/health.svg)](https://phpackages.com/packages/acmephp-acmephp)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[acmephp/core

Raw implementation of the ACME protocol in PHP

38973.7k7](/packages/acmephp-core)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[contao/core-bundle

Contao Open Source CMS

1231.6M2.4k](/packages/contao-core-bundle)

PHPackages © 2026

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