{"id":21973659,"url":"https://github.com/alash3al/phoo","last_synced_at":"2025-10-18T08:36:07.974Z","repository":{"id":65594628,"uuid":"131451414","full_name":"alash3al/phoo","owner":"alash3al","description":"a very simple high performance PHP application server and php-fpm supervisor","archived":false,"fork":false,"pushed_at":"2024-04-23T17:41:21.000Z","size":74,"stargazers_count":71,"open_issues_count":0,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-30T10:33:21.756Z","etag":null,"topics":["application-server","golang","php","php-fpm","php-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alash3al.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-28T23:28:15.000Z","updated_at":"2024-10-23T07:00:12.000Z","dependencies_parsed_at":"2024-06-18T22:58:59.575Z","dependency_job_id":"5a9b91a9-c7d6-4d98-85f2-23d756054006","html_url":"https://github.com/alash3al/phoo","commit_stats":{"total_commits":22,"total_committers":1,"mean_commits":22.0,"dds":0.0,"last_synced_commit":"f7bbfccea05ef6945fca25bbd6d08961abd077dc"},"previous_names":["alash3al/http2fcgi"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fphoo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fphoo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fphoo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alash3al%2Fphoo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alash3al","download_url":"https://codeload.github.com/alash3al/phoo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251328522,"owners_count":21571935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-server","golang","php","php-fpm","php-server"],"created_at":"2024-11-29T15:33:57.452Z","updated_at":"2025-10-18T08:36:02.928Z","avatar_url":"https://github.com/alash3al.png","language":"Go","readme":"PHOO\n====\n\u003e modern php application server, it depends on the bullet-proof `php-fpm` but it controls how it is being run.\n\nExamples\n========\n\u003e Imagine you have a php application that uses a modern framework like laravel, Symfony... etc\n\u003e that app contains a public directory, and that public directory contains the main bootstrap file that \n\u003e serves the incoming requests named `index.php`.\n```shell\n# this is all that you need to serve a laravel application!\n$ phoo serve -r ./public\n⇨ http server started on [::]:8000\n```\n\n#### But how about changing the address it is listening on to 0.0.0.0:80?\n```shell\n# no problem\n$ phoo serve -r ./public --http 0.0.0.0:80\n⇨ http server started on [::]:80\n```\n\n#### Sometimes I want to add custom `php.ini` settings, is it easy?\n```shell\n# is this ok for you? ;)\n$ phoo serve -r ./public -i display_errors=Off -i another_key=another_value\n⇨ http server started on [::]:8000\n```\n#### I have a high traffic web app and I want to increase the number of php workers\n```shell\n# increase the workers' count\n$ phoo serve -r ./public --workers=20\n⇨ http server started on [::]:8000\n```\n\n#### Hmmmm, but I want to monitor my app via Prometheus metrics, I don't want to do it manually\n```shell\n# no need to do it yourself, this will enable Prometheus metrics at the specified `/metrics` path\n$ phoo serve -r ./public --metrics \"/metrics\"\n⇨ http server started on [::]:8000\n```\n\n#### Can I choose the `php-fpm` version / binary path?\n```shell\n# Of course\n$ phoo serve -r ./public --fpm \"php-fpm8.2\"\n⇨ http server started on [::]:8000\n```\n\n#### Wow!, it seems `phoo` has a lot of simple flags/configs, is it documented anywhere?\n\u003e Just run `phoo serve --help` and enjoy it :), you will find that you can also pass flags via `ENV` vars, and it will automatically read the `.env` file in the current working directory.\n\nRequirements\n============\n- `php-fpm`\n- a shell access to run `phoo` :D\n\nInstallation\n============\n- Binary installations could be done via the [releases](https://github.com/alash3al/phoo/releases).\n- Docker image is available at [`ghcr.io/alash3al/phoo`](https://github.com/alash3al/phoo/pkgs/container/phoo)\n  - you can easily `COPY --from=ghcr.io/alash3al/phoo:2.1.8 /usr/bin/phoo /usr/bin/phoo` to run it into your own custom image!\n\nTODOs\n=====\n- [x] Add `.env.example` with comments to describe each var.\n- [ ] Add future plans/thoughts.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falash3al%2Fphoo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falash3al%2Fphoo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falash3al%2Fphoo/lists"}