Searched hist:767 (Results 1 – 2 of 2) sorted by path
/unit/src/ |
H A D | nxt_php_sapi.c | diff 2312:5abe32b6681f Thu Jan 26 00:09:00 UTC 2023 Andrew Clayton <a.clayton@nginx.com> PHP: Implement better error handling.
Previously the PHP module would produce one of four status codes
200 OK 301 Moved Permanently 500 Internal Server Error 503 Service Unavailable
200 for successful requests, 301 for cases where the url was a directory without a trailing '/', 500 for bad PHP or non-existing PHP file and 503 for all other errors.
With this commit we now handle missing files and directories, returning 404 Not Found and files and directories that don't allow access, returning 403 Forbidden.
We do these checks in two places, when we check if we should do a directory redirect (bar -> bar/) and in the nxt_php_execute() function.
One snag with the latter is that the php_execute_script() function only returns success/failure (no reason). However while it took a zend_file_handle structure with the filename of the script to run, we can instead pass through an already opened file-pointer (FILE *) via that structure. So we can try opening the script ourselves and do the required checks before calling php_execute_script().
We also make use of the zend_stream_init_fp() function that initialises the zend_file_handle structure if it's available otherwise we use our own version. This is good because the zend_file_handle structure has changed over time and the zend_stream_init_fp() function should change with it.
Closes: <https://github.com/nginx/unit/issues/767> Reviewed-by: Alejandro Colomar <alx@nginx.com> Cc: Andrei Zeliankou <zelenkov@nginx.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
/unit/test/ |
H A D | test_settings.py | diff 767:31390ed4c36d Mon Sep 17 16:07:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: test_settings_header_read_timeout_update adjusted.
|