PHPackages                             jstormes/aws-tools - 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. [API Development](/categories/api)
4. /
5. jstormes/aws-tools

ActiveLibrary[API Development](/categories/api)

jstormes/aws-tools
==================

A very light weight wrapper around AWS services as a PHP composer package.

v0.1.3(5y ago)09GPL-3.0-or-laterPHP

Since Feb 26Pushed 5y ago1 watchersCompare

[ Source](https://github.com/jstormes/AWSTools)[ Packagist](https://packagist.org/packages/jstormes/aws-tools)[ RSS](/packages/jstormes-aws-tools/feed)WikiDiscussions main Synced 5d ago

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

AWS Tools
=========

[](#aws-tools)

A wrapper around AWS services to make the easier to use in PHP.

Quickstart
==========

[](#quickstart)

PHP on Bare Metal
-----------------

[](#php-on-bare-metal)

Clone project

`git clone git@github.com:jstormes/AWSTools.git`

`cd AWSTools`

Use composer to install AWS dependencies

`composer install`

Make sure AWS is set up for you CLI environment.

You should have .aws in your home directory with proper `credentials` and `config` files. Your access\_key MUST have permissions to create CloudWatch Logs and Streams.

Run the demos:

`./bin/cli-demo-minimal.php`

`./bin/cli-demo-lazy-vs-direct.php`

`./bin/cli-demo-dynamic-severity.php`

`./bin/cli-demo-formatters.php`

`./bin/cli-demo-log-context-obj.php`

Look in the CloudWatch logs to see the output from the examples.

PHP in Docker
-------------

[](#php-in-docker)

TBD

Known issues
============

[](#known-issues)

- If you have two PHP apps running at the same time and logging to the same stream, you will have issues with sequenceToken, this will cause a performance issue. You need to make sure each PHP Application instance (aka Docker Instance) gets its own stream. My current ideas is to use the HOSTNAME as it is unique to each Docker instance as part of the stream name.
- An extension of the previous issue is two long-running scrips on the same docker instance. It might be necessary to use shared memory and lock to make sure the sequenceToken is correct across the two running PHP instances. Embrace the statelessness of the cloud!!! Or let the call fail and try to recover the sequenceToken, that might be a performance nightmare.

To Do
=====

[](#to-do)

- Allow S3 file for stack dump.
- Better use of Stream Naming, not sure how but perhaps something with the `Formatter`
- Create examples of `try` `catch` use case
- Create examples of `set_error_handler` use case
- Create ZF2 DI use case example
- Create squelch option and use case examples
- Create method for chaining `formatter`
- Create example of using `formatter` to call a new instance of `Logs`

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~1 days

Total

4

Last Release

1901d ago

### Community

Maintainers

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

---

Top Contributors

[![jstormes](https://avatars.githubusercontent.com/u/2112702?v=4)](https://github.com/jstormes "jstormes (19 commits)")

### Embed Badge

![Health badge](/badges/jstormes-aws-tools/health.svg)

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

###  Alternatives

[sociallydev/spaces-api

Library for accessing Digital Ocean spaces

218428.6k](/packages/sociallydev-spaces-api)[thephalcons/amazon-webservices-bundle

A Symfony2 Bundle for interfacing with Amazon Web Services (AWS)

110224.7k](/packages/thephalcons-amazon-webservices-bundle)[keboola/storage-api-client

Keboola Storage API PHP Client

10387.5k25](/packages/keboola-storage-api-client)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[cion/laravel-text-to-speech

This package creates a shared API to easily use Text to Speech functionalities amongst different TTS providers.

4228.3k](/packages/cion-laravel-text-to-speech)[larareko/aws-rekognition

A Laravel package for the AWS Rekognition

2013.1k](/packages/larareko-aws-rekognition)

PHPackages © 2026

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