1. Caddy version (caddy version
):
v2.4.1 h1:kAJ0JB5Xk5gPdTH/27S5cyoMGqD5lBAe9yZ8zTjVJa0=
2. How I run Caddy:
a. System environment:
Arch Linux running caddy
binary downloaded from Download Caddy in CLI
This is my directory structure:
Caddyfile README.md phpinfo.php
phpinfo.php
:
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
b. Command:
sudo caddy start
c. Service/unit/compose file:
d. My complete Caddyfile or JSON config:
{
debug
}
http://localhost:8888 {
log {
output file /var/log/caddy/access.log
# format single_field common_log
}
root * /home/leesei/wip/learn-php
php_fastcgi unix//run/php-fpm7/php-fpm.sock {
index phpinfo.php
resolve_root_symlink
}
encode gzip
file_server
}
3. The problem I’m having:
PHP page cannot be viewed: curl http://localhost:8888/phpinfo.php
returns “File not found.” from PHP.
4. Error messages and/or full log output:
2021/05/31 02:46:21.906 DEBUG http.reverse_proxy.transport.fastcgi roundtrip {"request": {"remote_addr": "[::1]:48172", "proto": "HTTP/1.1", "method": "GET", "host": "localhost:8888", "uri": "/phpinfo.php", "headers": {"X-Forwarded-For": ["::1"], "User-Agent": ["curl/7.76.1"], "Accept": ["*/*"], "X-Forwarded-Proto": ["http"]}}, "dial": "/run/php-fpm7/php-fpm.sock", "env": {"AUTH_TYPE":"","CONTENT_LENGTH":"","CONTENT_TYPE":"","DOCUMENT_ROOT":"/home/leesei/wip/learn-php","DOCUMENT_URI":"/phpinfo.php","GATEWAY_INTERFACE":"CGI/1.1","HTTP_ACCEPT":"*/*","HTTP_HOST":"localhost:8888","HTTP_USER_AGENT":"curl/7.76.1","HTTP_X_FORWARDED_FOR":"::1","HTTP_X_FORWARDED_PROTO":"http","PATH_INFO":"","QUERY_STRING":"","REMOTE_ADDR":"::1","REMOTE_HOST":"::1","REMOTE_IDENT":"","REMOTE_PORT":"48172","REMOTE_USER":"","REQUEST_METHOD":"GET","REQUEST_SCHEME":"http","REQUEST_URI":"/phpinfo.php","SCRIPT_FILENAME":"/home/leesei/wip/learn-php/phpinfo.php","SCRIPT_NAME":"/phpinfo.php","SERVER_NAME":"localhost","SERVER_PORT":"8888","SERVER_PROTOCOL":"HTTP/1.1","SERVER_SOFTWARE":"Caddy/v2.4.1"}}
2021/05/31 02:46:21.910 DEBUG http.handlers.reverse_proxy upstream roundtrip {"upstream": "unix//run/php-fpm7/php-fpm.sock", "request": {"remote_addr": "[::1]:48172", "proto": "HTTP/1.1", "method": "GET", "host": "localhost:8888", "uri": "/phpinfo.php", "headers": {"X-Forwarded-For": ["::1"], "User-Agent": ["curl/7.76.1"], "Accept": ["*/*"], "X-Forwarded-Proto": ["http"]}}, "headers": {"Status": ["404 Not Found"], "X-Powered-By": ["PHP/7.4.18"], "Content-Type": ["text/html; charset=UTF-8"]}, "status": 404}
2021/05/31 02:46:21.910 ERROR http.log.access.log0 handled request {"request": {"remote_addr": "[::1]:48172", "proto": "HTTP/1.1", "method": "GET", "host": "localhost:8888", "uri": "/phpinfo.php", "headers": {"User-Agent": ["curl/7.76.1"], "Accept": ["*/*"]}}, "common_log": "::1 - - [31/May/2021:10:46:21 +0800] \"GET /phpinfo.php HTTP/1.1\" 404 16", "duration": 0.004308066, "size": 16, "status": 404, "resp_headers": {"Server": ["Caddy"], "Status": ["404 Not Found"], "X-Powered-By": ["PHP/7.4.18"], "Content-Type": ["text/html; charset=UTF-8"]}}
5. What I already tried:
I added this to /etc/php7/php-fpm.d/www.conf
access.format = "%R - %u %t [%f] \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
where %f
should be the script filename
Here’s what I got from php-fpm7/www.access.log
:
- - 31/May/2021:10:46:21 +0800 [-] "GET /phpinfo.php" 404 - 2.911 2048 0.00%