Safe
All PHP functions, rewritten to throw exceptions instead of returning false (by thecodingmachine)
Expose
A beautiful, fully open-source, tunneling service - written in pure PHP (by beyondcode)
Our great sponsors
Safe | Expose | |
---|---|---|
7 | 11 | |
2,305 | 4,151 | |
0.8% | 0.4% | |
0.6 | 3.4 | |
6 days ago | 16 days ago | |
PHP | PHP | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Safe
Posts with mentions or reviews of Safe.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-10-18.
-
PHP libraries and tools
thecodingmachine/safe: All PHP functions, rewritten to throw exceptions instead of returning false
-
Oh boy here we go again…
There are workarounds with some third party libraries, but yeah, it's a pain.
- Which inconsistences of PHP annoy you the most?
-
Any ideas about why json_encode would return empty for a request on local dev, but not empty on server?
- try not to use the built-in json_encode, as it doesnt have proper error handling. Use instead this: https://github.com/thecodingmachine/safe and Safe\json_encode()
-
Native defer & errdefer
Not what you asked for, in modern codebases it's advised to use things like https://github.com/thecodingmachine/safe
-
Use namespaced functions to replace native functions - github.com/rezen/proxyz
The goal of https://github.com/thecodingmachine/safe is different than proxyz. My goal is a method proxy that allows you to override or watch the behaviour of a function from the "global namespace" effortlessly.
-
preg_last_error() and json_last_error()
Safe-PHP redeclares all core PHP functions (in a new namespace) to throw exceptions properly. I use this on almost every project now.
Expose
Posts with mentions or reviews of Expose.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-06.
- A beautiful, fully open-source, tunneling service – written in pure PHP
-
Best 5 ngrok alternatives in 2023
Expose is another good one.
-
How to forward ports via VPS & VPN
So in the end, for those interested with the same issue (How to forward ports behind the Starlink CGNAT), all the VPN providers I tried were bad (the IP they allow to open weren't working well, or they only provide dynamic IPs), so in the end I : 1/ bought a small router on Amazon, the GL-MT1300 (by GL-iNet) but their smaller routers should work too: https://www.amazon.fr/GL-iNet-GL-MT1300-Wireless-Pocket-Sized-Repeater/dp/B08MKZXGBY?ref\_=ast\_sto\_dp 2/ installed AstroRelay on it (followed this tutorial : https://www.youtube.com/watch?v=s3RkMeO4kDg ): https://astrorelay.com And that's it, all my local services work like a charm and are accessible outside. I didn't have to roll up my sleeve to setup a VPS or to setup reverse SSH tunnel. As an alternative to AstroRelay I could have used these services but they seemed a bit more complex to install or use: - https://ngrok.com/ - https://expose.dev/ - https://localxpose.io/ - https://tunnelto.dev/ - https://www.zerotier.com/
-
Port number pass-through
If you still want to use the SPN for the connection, a service like this can be a work around: https://expose.dev/
-
How to test Webhooks on your localhost
In order to achieve that, there are multiple tools that can help you with that such as ngrok or expose
-
ngrok alternative?
I use Expose and it works awesome for me
-
Testing Webhooks with ngrok (With apologies to Thor and Billy Mays)
An alternative to ngrok, written in PHP, open source: https://expose.dev/
-
How to setup a Tunneling server using Cleavr
There are plenty of tunneling solutions that can be used for local development, such as: Ngrok, Localtunnel, and Expose.
-
Domain for single use only
A great solution is https://expose.dev it’s like ngrock but for php apps. Basically instal. The app and run on simple command on app folder and your app will be accessible via web
- Ngrok Alternative
What are some alternatives?
When comparing Safe and Expose you can also consider the following projects:
PHP Dotenv - Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.
Symfony VarDumper - Provides mechanisms for walking through any arbitrary PHP variable
sshpiper - The missing reverse proxy for ssh scp
phpstan-safe-rule - A PHPStan rule to be used with the thecodingmachine/safe package
Symfony Dotenv - Registers environment variables from a .env file
chisel - A fast TCP/UDP tunnel over HTTP
Yo! Symfony TOML - A PHP parser for TOML
framework - :gem: Go! AOP PHP - modern aspect-oriented framework for the new level of software development
PHP-GPIO - A PHP library to play with the Raspberry PI's GPIO pins