PHP Runtime / Engine for Deta.Space This Project is a PHP Runtime / Engine for Deta.Space. It is based on PHP Version 8.1.8 and uses the Internal Webserver.
Try Out the PHP Sandbox in Deta.Space
Clone this repo and make changes to the spacefile for your type of project.
Put your PHP Code in the php/webroot folder if you need more than one php micro duplicate the php folder and the spacefile config for the micro.
You need to setup your project, framework etc. to use native PHP routing. The internal webserver is not able to handle routing via htaccess or other methods.
The following PHP Extensions are installed:
If you need more extensions, if they are available for the latest php version please open an issue.
If you need to change the php config, you can do so by creating a php.ini file and linking it via the --with-config-file command in the server.sh file.
The performance of this runtime is not as good as the native runtime. This is due to the fact that the runtime is based on the internal webserver and not on the native php-fpm. The performance is still good enough for most use cases.
/\ |‾‾| /‾‾/ /‾‾/
/\ / \ | |/ / / /
/ \/ \ | ( / ‾‾\
/ \ | |\ \ | (‾) |
/ __________ \ |__| \__\ \_____/ .io
execution: local
script: loadtest.js
output: -
scenarios: (100.00%) 1 scenario, 20 max VUs, 2m50s max duration (incl. graceful stop):
* default: Up to 20 looping VUs for 2m20s over 3 stages (gracefulRampDown: 30s, gracefulStop: 30s)
✓ status was 200
checks.........................: 100.00% ✓ 1705 ✗ 0
data_received..................: 3.3 MB 23 kB/s
data_sent......................: 1.3 MB 8.9 kB/s
http_req_blocked...............: avg=806.49µs min=0s med=0s max=85.95ms p(90)=0s p(95)=78.68µs
http_req_connecting............: avg=224.95µs min=0s med=0s max=19.62ms p(90)=0s p(95)=0s
http_req_duration..............: avg=18.85ms min=12.14ms med=15.02ms max=342.88ms p(90)=25.32ms p(95)=30.57ms
{ expected_response:true }...: avg=18.85ms min=12.14ms med=15.02ms max=342.88ms p(90)=25.32ms p(95)=30.57ms
http_req_failed................: 0.00% ✓ 0 ✗ 5115
http_req_receiving.............: avg=142.77µs min=0s med=0s max=2.58ms p(90)=847.64µs p(95)=999.03µs
http_req_sending...............: avg=54.98µs min=0s med=0s max=1.96ms p(90)=150.08µs p(95)=448.33µs
http_req_tls_handshaking.......: avg=564.95µs min=0s med=0s max=68.76ms p(90)=0s p(95)=0s
http_req_waiting...............: avg=18.65ms min=12.05ms med=14.78ms max=342.63ms p(90)=25.12ms p(95)=30.46ms
http_reqs......................: 5115 36.309256/s
iteration_duration.............: avg=1.06s min=1.04s med=1.05s max=1.48s p(90)=1.07s p(95)=1.1s
iterations.....................: 1705 12.103085/s
vus............................: 1 min=1 max=20
vus_max........................: 20 min=20 max=20
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.