Coder Social home page Coder Social logo

Comments (8)

mnapoli avatar mnapoli commented on August 24, 2024

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.

gregmsanderson avatar gregmsanderson commented on August 24, 2024

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.

mnapoli avatar mnapoli commented on August 24, 2024

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.

gregmsanderson avatar gregmsanderson commented on August 24, 2024

Ah ... so it would only compile once. Awesome!

from bref.

gregmsanderson avatar gregmsanderson commented on August 24, 2024

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.

mnapoli avatar mnapoli commented on August 24, 2024

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.

gregmsanderson avatar gregmsanderson commented on August 24, 2024

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.

mnapoli avatar mnapoli commented on August 24, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.