Назад | Перейти на главную страницу

Отображение устаревшей информации при использовании WAMP в качестве локального сервера

Я использую WAMP как локальный сервер для компьютеров в моей сети.

Проблема в том, что когда я пытаюсь выполнить какие-либо операции с базой данных с этих компьютеров, мне кажется, что этого не происходит, хотя они и происходят.

У меня есть таблица mysql под названием person с полями id,lastname,name когда я пытаюсь добавить новый person или отредактируйте один из них, все в порядке, но когда я проверяю, person был добавлен / отредактирован, кажется, что это не так, даже когда я проверяю свою базу данных, изменения были внесены.

Копнув немного дальше, я понял, что когда я получаю доступ к своей системе через http://localhost/system/ все изменения в базе данных отражаются немедленно, но когда я обращаюсь к системе через IP-адрес http://12.12.123.12/system/, обновления не появляются, пока я не закрою веб-страницу или не нажму «Обновить» примерно 5 раз.

httpd.conf

ServerRoot "c:/wamp/bin/apache/apache2.2.21"
Listen 80
ServerName localhost:80
DocumentRoot "c:/wamp/www/"
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
Order Allow,Deny
    Allow from all

</Directory>

Короче говоря, все работает на стороне базы данных, и когда я просматриваю свою страницу через localhost все работает нормально, проблема в том, когда я обращаюсь к нему с IP адреса

ОКОНЧАТЕЛЬНОЕ ОБНОВЛЕНИЕ
В моем приложении был <iframe> который содержал все необходимые формы для отображения информации, оказывается, это был тот фрейм, который не обновлялся, поэтому он показал устаревшую информацию. Мне пришлось добавить 2 строки кода, чтобы он не кэшировал информацию и всегда отображал текущую информацию. Вот что я добавил:

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past

Если ваша БД отражает изменения немедленно, а доступ к сайту через localhost отражает их немедленно, но при внешнем доступе изменения появляются медленно, моя первая реакция - вам нужно проверить кеширование.

Это может помочь вам начать работу с кешированием Apache: http://httpd.apache.org/docs/2.2/caching.html

Если вы обслуживаете через Varnish, это также инструмент для кеширования и обратного прокси. Кроме того, ваш браузер может кэшировать вас, не говоря уже о том, что вы используете стандартный веб-прокси.