All Projects → cachewerk → heroku-php-extensions

cachewerk / heroku-php-extensions

Licence: MIT License
Pre-built PHP extensions for Heroku that are not included or fully supported by the official PHP buildpack.

Programming Languages

shell
77523 projects
Dockerfile
14818 projects
Procfile
174 projects

Projects that are alternatives of or similar to heroku-php-extensions

iam
💚 Introduction Bot for slack teams:
Stars: ✭ 12 (-20%)
Mutual labels:  heroku
kodepos
📮 Indonesian postal code search API by place name, village or city.
Stars: ✭ 32 (+113.33%)
Mutual labels:  heroku
heroku-buildpack-activestorage-preview
Official Heroku Rails 5.2 Active Storage Previews Buildpack
Stars: ✭ 21 (+40%)
Mutual labels:  heroku
django social login tutorial
Django Social Login Tutorial
Stars: ✭ 65 (+333.33%)
Mutual labels:  heroku
flask-app-blueprint
Flask App Blueprint / Boilerplate including user registration/login, admin only section, CRUD on database, and more. Based on Python, Flask, PostgreSQL, et al. deployed on Heroku. The #1 starter project.
Stars: ✭ 144 (+860%)
Mutual labels:  heroku
cookiecutter-django-herokuapp
A cookiecutter template for creating Django 1.7+ / Python 3 projects quickly, thought optimized for Heroku in the meantime.
Stars: ✭ 20 (+33.33%)
Mutual labels:  heroku
newsemble
API for fetching data from news websites.
Stars: ✭ 42 (+180%)
Mutual labels:  heroku
tweegeemee
Twitter Genetic Algorithm Imagery
Stars: ✭ 83 (+453.33%)
Mutual labels:  heroku
Web-Development-Path-And-Resources
Will Add a path and some resources in this repo for web D for my first year students
Stars: ✭ 46 (+206.67%)
Mutual labels:  heroku
haikunatorgo
Generate Heroku-like random names to use in your go applications.
Stars: ✭ 50 (+233.33%)
Mutual labels:  heroku
Chatbot
A Deep-Learning multi-purpose chatbot made using Python3
Stars: ✭ 36 (+140%)
Mutual labels:  heroku
nazar
Electronic component detection, identification and recognition system in realtime from camera image using react-native and tensorflow for classification along with Clarifai API with option to search the component details from web with description shown from Octopart fetched from server
Stars: ✭ 25 (+66.67%)
Mutual labels:  heroku
libDrive
libDrive is a Google Drive media library manager and indexer, similar to Plex, that organizes Google Drive media to offer an intuitive and user-friendly experience.
Stars: ✭ 14 (-6.67%)
Mutual labels:  heroku
demo-laravel-crud
My practice for basic CRUD of Laravel5 on Heroku.
Stars: ✭ 22 (+46.67%)
Mutual labels:  heroku
OpenCV-REST-API
Learn to create a REST API microservice for extracting faces from images using OpenCV, OpenCV-python, Flask, Docker, and Heroku
Stars: ✭ 71 (+373.33%)
Mutual labels:  heroku
heroku-postico
Heroku Postgres connection tool for Postico
Stars: ✭ 37 (+146.67%)
Mutual labels:  heroku
IPL-ML-2018
Predicting IPL match results. https://kuharan.github.io/IPL-ML-2018/
Stars: ✭ 14 (-6.67%)
Mutual labels:  heroku
heroku-buildpack-deno
Heroku Buildpack for Deno
Stars: ✭ 72 (+380%)
Mutual labels:  heroku
wallpaper-api
An api which can use different sites to scrape images and serve them through API
Stars: ✭ 18 (+20%)
Mutual labels:  heroku
GitHub-Education-Portfolio
A portfolio made using React and tools from GitHub Student Developer Pack
Stars: ✭ 50 (+233.33%)
Mutual labels:  heroku

Heroku PHP Extensions

Pre-built PHP extensions for Heroku that are not included or fully supported by the official PHP buildpack.

The supported PHP versions are 7.3, 7.4, 8.0 and 8.1 on the heroku-18 and heroku-20 stacks.

Checkout the demo app, or browse the S3 bucket.

Usage

Add the platform repository to your Heroku app:

heroku config:set HEROKU_PHP_PLATFORM_REPOSITORIES="https://relaycache.com/heroku/"

If you prefer using the AWS S3 repositories, add the corresponding repository to your Heroku app:

# heroku-18
heroku config:set HEROKU_PHP_PLATFORM_REPOSITORIES="https://heroku-php-extensions.s3.amazonaws.com/dist-heroku-18-stable/"

# heroku-20
heroku config:set HEROKU_PHP_PLATFORM_REPOSITORIES="https://heroku-php-extensions.s3.amazonaws.com/dist-heroku-20-stable/"

Next, add any of the extensions to composer.json as you usually would:

composer require "ext-relay:*"
composer require "ext-redis:*"
composer require "ext-swoole:*"
composer require "ext-msgpack:*"
composer require "ext-igbinary:*"

Troubleshooting

See TROUBLESHOOTING.md.

Contributing

Pull requests for additional Heroku stacks, PHP versions, additional extension versions and new extension are welcome.

Development

Before continuing, read and understand the official build instructions.

Set up

# Install Composer dependencies
composer install

# Copy Python requirements
cp vendor/heroku/heroku-buildpack-php/requirements.txt .

# Create environment file
cp .env.example .env

Be sure to set all variables in your newly created .env file.

Dockerfile

Create a custom Dockerfile for heroku-20.

cat vendor/heroku/heroku-buildpack-php/support/build/_docker/heroku-20.Dockerfile > docker/build/heroku-20.Dockerfile
cat docker/heroku-20.Dockerfile >> docker/build/heroku-20.Dockerfile

Build

# Docker build
docker build --pull --tag heroku-20 --file docker/build/heroku-20.Dockerfile .

# Build libraries
docker run --rm -ti --env-file=.env heroku-20 bob build --overwrite libraries/liblzf-3.6
docker run --rm -ti --env-file=.env heroku-20 bob build --overwrite libraries/lz4-1.9.3
docker run --rm -ti --env-file=.env heroku-20 bob build --overwrite libraries/zstd-1.4.9

# Build igbinary
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/igbinary-3.2.7

# Build msgpack
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/msgpack-2.1.2

# Build phpredis
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/redis-5.3.7

# Build relay
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/relay-0.3.0

# Build swoole
docker run --rm -ti --env-file=.env heroku-20 bob build extensions/no-debug-non-zts-20200930/swoole-4.10.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].