最近遇到一个奇怪的问题,在docker的php容器中配置了启用慢日志: slowlog = /tmp/php.slow.log request_slowlog_timeout = 1s 但是日志文件总是没记录,一直是空的。 最后在serverfault.com上找到答案:在Linux系统中,PHP-FPM使用 SYS_PTRACE 跟踪worker进程,但是docker容器默认又不启用这个功能,所以就导致了这个问题。
xdebug.remote_log = /var/log/php/xdebug.log xdebug.idekey = PHPSTOR 复制代码 以上设置主要是开启xdebug的远程调试模式,因为php-fpm使用了9000端口,所以这里我们把xdebug的端口改为了9001;“host.docker.internal”是docker 18.03新加入的,可以解析获得宿主机的ip地址,这样就不用写死ip地址了。 5、启动php-fp...
# pass the PHP scripts to FastCGI server## See conf.d/php-fpm.conf for socket configuration#index index.php index.html index.htm;location~\.(php|phar)(/.*)?${fastcgi_split_path_info^(.+\.(?:php|phar))(/.*)$;fastcgi_intercept_errors on;fastcgi_index index.php;includefastcgi_params...
ln -sf /dev/stderr /var/log/php-fpm.log 启动完成以后报错 ERROR: failed to ptrace(ATTACH) child 24: Operation not permitted (1) 查阅资料后发现是因为docker 权限的问题:在docker中部署的php容器默认是不能记录慢日志的;在Linux系统中, PHP-FPM使用SYS_PTRACE跟踪worker进程,SYS_PTRACE是什么?这是Linux...
3、安装php-fpm 地址:hub.docker.com/_/php 因为这里我们需要安装一些开发时用到的PHP扩展,所以最好的办法是根据Dockerfile生成我们自己的镜像,如下是我的Dockerfile,大家可以参考,可以根据情况删减不需要的扩展,否则生成的镜像会比较大。 Dockerfile内容如下: ...
证明php-fpm服务已经启动了,但是未知原因php-fpm把链接中断了。怀疑是底层tcp链接问题,使用netstat -s | grep reject,未发现异常链接。想不出啥原因,查看php-fpm error.log未发现有用信息 突然想起,php-fpm一样有工作进程,工作进程的日志貌似默认并没有打印,找到catch_workers_output 选项打开注释,再次访问php页面...
阿里云: registry.cn-shenzhen.aliyuncs.com/colovu/php-fpm:8.0 DockerHub:colovu/php-fpm:8.0 依赖镜像:debian:buster 后续相关命令行默认使用[Docker Hub](https://hub.docker.com)镜像服务器做说明 TL;DR Docker 快速启动命令: #从 Docker Hub 服务器下载镜像并启动$docker run -d --name imgname colovu...
error_log = /home/logs/php-fpm.log slowlog = /home/logs/slow.log 在PHP-FPM的配置文件中进行相应的更改。 对于Redis容器,您需要将日志文件路径设置为宿主机上的 /home/logs 目录。您可以编辑Redis的配置文件(通常位于Redis容器的/etc/redis/redis.conf),将日志文件路径设置为: logfile /home/logs/redis....
我们可以查看PHP的Dockerfile,会发现有几个日志文件都被使用标准输出、标准错误的软链接替代了: # logs should go to stdout / stderrln -sfT /dev/stderr"$APACHE_LOG_DIR/error.log";\ln -sfT /dev/stdout"$APACHE_LOG_DIR/access.log";\ln -sfT /dev/stdout"$APACHE_LOG_DIR/other_vhosts_access....
access.log = /var/log/php/tfums-access.log 3.3.3 Dockerfile 这里面福哥就是把tfphp.conf和tfums.conf导入到镜像里面了。 FROM php:7.4-fpm-buster MAINTAINER Andy Bogate MAINTAINER tongfu@tongfu.net MAINTAINER https://tongfu.net/dockerfile ...