Comments (8)
Good idea! From their documentation it seems to be simpler: https://docs.phalconphp.com/fr/3.3/installation#installation-sources
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
sudo ./install
Extensions (*.so
files) are then copied to be packaged with Bref, see https://github.com/mnapoli/bref/blob/master/bin/php/build.sh#L32 You can try to give it a go, this is the script used to create the Bref archive. For your tests just comment out the aws s3 copy
line because you will not be able to upload the archive on the S3 bucket.
from bref.
Thanks, I'll give that a try. It would be nicer to not have to re-compile Phalcon on every deploy, if that's what would happen if I added it to that build.sh.
I wonder if I could compile it once, making the phalcon.so, then check for its existence. Only if it doesn't exist, compile it.
from bref.
The Dockerfile and build.sh
in this repository are not executed for users. They are executed once to build the PHP binary and its extensions, it's all zipped and uploaded to a S3 bucket that I own.
Then when users do bref deploy
it downloads the zip, unzip it and deploys the lambda with the PHP binary and the extensions.
So it's not recompiled every time.
from bref.
Ah ... so it would only compile once. Awesome!
from bref.
Yeah ... this likely isn't going to work.
I managed to create a custom PHP binary and got it to compile Phalcon by modifying the Dockerfile. So it had the phalcon.so extension. However to then make that work with bref, it seems you need an adapter for each framework. And Phalcon has yet to support PSR 7 and so I assume that is not possible. Since that seems to be the basis of the other adapters. So looks like Phalcon can't be supported.
from bref.
Right not easy! I did write a bridge for Laravel and Symfony, for example: https://github.com/mnapoli/bref/tree/master/src/Bridge/Symfony Those do not support PSR-7. That wasn't easy because it was like moving in the dark.
from bref.
I saw, yes. But i can't see how to make similar ones for Phalcon. I had hoped it would be similar, but seems not. I did locate this: https://github.com/codeup-berlin/phalcon-psr which seems to be along similar lines, adapting it, however there is no explanation of how to use it.
from bref.
Looking back on this issue for now I'll close this as I do not intend to add support for Phalcon. If anyone is interested to work on this please let me know here.
I would be okay for supporting it if it doesn't impact the current tooling/architecture too heavily.
from bref.
Related Issues (20)
- Symfony CLI DATABASE_URL Not Found HOT 1
- Can I fire putJobSuccessResult event from AWS Lambda which is developed with Bref? HOT 1
- Feedback for “Custom domain names” HOT 1
- I am getting this issue :-
- OPENSSL_3.3.0' not found (required by /opt/lib/libssl.so.3) HOT 10
- Stopping 1.x maintenance
- Feedback for “Serverless Laravel - Getting started” HOT 3
- NOTICE since upgrading to v2 HOT 1
- Brefv2 500 Errors Not In Logs HOT 5
- PHP ext-intl is required on layer 8.3 HOT 1
- CURL SSL_ERROR_SYSCALL calling another Lambda HOT 7
- Env always return null after update packages to bref 2 version
- max_execution_time not working HOT 3
- Laravel 11, PHP 8.3 mysql driver not enabled, also can't use postgress
- Bref Serverless v4 HOT 12
- php (not fpm) with BREF_LOOP_MAX=1 is 2x slower than php-fpm
- PDO_SQLITE version HOT 4
- Invalid configuration encountered: at 'functions.app.image': unsupported string format HOT 3
- Better documentation around function runtime and Symfony in Docker HOT 5
- Lambda error: Call to undefined method Bref\Event\Http\HttpRequestEvent::getRequestContext() HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bref.