Сервер РАЗРАБОТКИ не остановит кэширование (Vagrant - Apache 2.4 - Centos 7.6 - php 5.6.x) в MacOSX - PullRequest
0 голосов
/ 13 октября 2019

Я не могу отключить кэширование файлов PHP , (еще не пробовал html или JS файлы). Я только что перенес действительно старый сервер в приведенные выше спецификации (кроме RHEL7.6).

Я использую vagrant в качестве среды сервера разработки в течение 6 лет. Я только что создал реплику для разработки для недавно перенесенного сервера с CentOS 7.6, Apache и PHP 5.6.40.

Я не могу отредактировать и затем проверить эти изменения вообще. Я перепробовал ДЕСЯТКИ предложений, найденных в Интернете, и на данный момент единственный способ увидеть какие-либо изменения, которые я делаю, - это уничтожить коробку и перевернуть новую коробку. НЕ РЕШЕНИЕ.

Я пробовал. Встроенные операторы заголовка PHP внутри самого файла

<?php header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 3600)); ?>

-> FAIL

Добавление файла .htaccess в каталог, в котором я работаю

 #Initialize mod_rewrite
RewriteEngine On
<FilesMatch "\.(php|html|htm|js|css)$">
  FileETag None
  <IfModule mod_headers.c>
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT"
  </IfModule>
</FilesMatch>

-> FAIL

Добавить в httpd.conf

<IfModule mod_headers.c>
    <filesmatch "\.(html)$">
        Header set Cache-Control "no-cache"
    </filesmatch>
</IfModule>

-> FAIL

Я создал php-файл, чтобы включить его для разработки файла ... cacheOff.php:

header("Content-Type: application/json");
header("Expires: 0");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

Затем попробовал это в файле -> FAIL

Я пытался закомментировать любые файлы cache.conf в папке httpd conf.modules.d 00-base.conf

LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
LoadModule data_module modules/mod_data.so

-> FAIL

Я нашел предложения php.ini, такие как opcache, но их нет в этой версии.

Вот мои файлы httpd.conf и php.ini VagrantServerFiles

HELP .... ПОЖАЛУЙСТА, это должно быть легко, не так ли ????

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

Не уверен, но если вы исключили кеш на стороне клиента (который у вас есть) и не думаете, что используете систему кеширования PHP (opcache / accelerator / etc), то есть некоторые настройки Vagrant, которые вы могли быпоиграйте с:

Либо сбросьте кеш (вручную я думаю, что это будет выглядеть так: echo 1 > /proc/sys/vm/drop_caches)

Или, возможно, отключите sendfile () (подробнее об этом ответе: Vagrant / VirtualBox / Apache2 Странное поведение кэша )

0 голосов
/ 16 октября 2019

измените или добавьте эту строку в php.ini:

 opcache.enable=0

opcache - это тип php.ini.all, поэтому его можно вызывать на странице php следующим образом:

  ini_set (opcache.enable,0);

по умолчанию значение равно 1 или «включено», если не объявлено в php.ini

...