如何禁用Symfony 5类缓存进行本地调试



我正在开发一个自定义json api(不涉及分支(。在开发过程中,我需要不断地更改代码库,每个响应都会被缓存几分钟,或者直到我调用symfony缓存。

我使用的是本地nginx服务器,应该正确配置它,因为这些是我得到的标题:

Server: nginx/1.16.1
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/7.4.1
Cache-Control: max-age=0, private
Date: Fri, 24 Jul 2020 07:29:28 GMT
X-Debug-Token: f38aeb
X-Debug-Token-Link: http://localhost:8080/_profiler/f38aeb
X-Robots-Tag: noindex
Last-Modified: Friday, 24-Jul-2020 07:29:28 UTC
Cache-Control: private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0

一旦我运行bin/console c:\c ,响应就会正确更新

每次更改任何类(控制器、服务、模型等等(时,我都需要这样做。

肯定有什么明显的东西我遗漏了。有没有一种方法可以在我的开发环境中禁用类缓存,而不必为每一个小的更改都清除缓存?

已编辑:添加相关配置。

这是我的nginx.conf文件:

server {
listen 80;
server_name ~.*;
location / {
root /app;
try_files $uri /index.php$is_args$args;
}
location ~ ^/index.php(/|$) {
client_max_body_size 50m;
fastcgi_pass php:9000;
fastcgi_read_timeout 1800;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /app/public/index.php;
# Disable cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'private no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
expires off;
etag off;
}
error_log /dev/stderr debug;
access_log /dev/stdout;
}

我终于找到了罪魁祸首。如果有人面临同样的问题,我会留下这个。我在开发环境中启用了opcache,所以它与symfony或nginx位置无关。我刚刚禁用了opcache,问题就解决了。

opcache.enable=0

最新更新