xp-forge / xp-forge/lambda

PHP extensions

Open
#8 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

question
Dominant language
PHP
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Currently, we compile with the following extensions enabled:

  • Core
  • bcmath
  • ctype
  • date
  • fileinfo
  • filter
  • hash
  • iconv
  • json
  • openssl
  • pcre
  • Phar
  • posix
  • Reflection
  • session
  • SPL
  • standard
  • tokenizer

Looking at https://bref.sh/docs/environment/php.html#extensions-installed-and-enabled and from scanning through use cases, the following could be interesting:

  • gd, exif - image processing
  • mbstring - prerequisite for exif anyways
  • sodium - for crypto
  • zlib - if we want to create ZIP files, HTTP compression - see https://github.com/xp-forge/lambda/issues/8#issuecomment-1184378957
  • sqlite3 - for temporary data storage
  • libxml, dom, xml, xmlreader, xmlwriter - for processing XML and HTML - see #11

The following extensions don't seem to make sense for an AWS lambda enviromment:

  • pcntl - for parallelization, you would most probably just invoke other lambdas and/or use a message queue
  • readline - this is for humans sitting in front of a terminal, not for the serverside
  • curl, ftp, mysqli / mysqlnd - the XP Framework has it's own protocol implementations
  • sockets - the standard socket library works just as well for (most - or almost all?) cases
  • opcache - we leave our code running after compiling once, caching doesn't improve this any more
  • SimpleXML - covered by XP Framework's XML APIs - used by AWS SDK, see https://github.com/xp-forge/lambda/issues/8#issuecomment-966497081

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Bref's PHP extensions documentation and the linked issue comments, then compare the current compiled list with the proposed gd, exif, mbstring, sodium, and sqlite3 candidates. Confirm the extension set required by the repository's use cases, update the extension configuration, and verify that the Lambda build compiles successfully with the agreed list.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, php
Domain
backend, cloud
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.