我在同一台服务器上托管了两个laravel应用程序。
例如。dev.example.com和staging.example.com这两个站点都提供vuejs站点devfh.example.com和stagingfh.example.com可以访问的API。这两个站点都工作得很好,但是,偶尔/随机地,我们在dev site中获得staging数据,在staging site中获得dev数据。
我们使用以下技术:
apache 3.2.2.2版
php 7.3.12版
aws rds for mssql(两个db dev和staging在同一个示例上)
用于存储会话缓存的redis(我们尝试禁用dev站点的redis缓存,但问题仍然存在)。
我觉得这可能是apache、redis或mssql端的缓存问题,或者php操作码缓存不确定。
我们不确定如何进一步调试这个问题。
apache vhost设置
<VirtualHost *:80>
ServerName stagingfh.example.com
DocumentRoot "c:/wamp64/www/staging/frontend/dist"
<Directory "c:/wamp64/www/staging/frontend/dist/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
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, 11 Jan 1984 05:00:00 GMT"
</VirtualHost>
<VirtualHost *:80>
ServerName staging.example.com
DocumentRoot "c:/wamp64/www/staging/backend/public"
<Directory "c:/wamp64/www/staging/backend/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName devfh.example.com
DocumentRoot "c:/wamp64/www/staging/development/dist"
<Directory "c:/wamp64/www/staging/development/dist/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
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, 11 Jan 1984 05:00:00 GMT"
</VirtualHost>
<VirtualHost *:80>
ServerName dev.corigami.com
DocumentRoot "c:/wamp64/www/staging/development/public"
<Directory "c:/wamp64/www/staging/development/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
1条答案
按热度按时间nimxete21#
如果它在页面之间导航时自行解决,听起来像是浏览器缓存问题。
您是否使用mix来编译vue代码?确保您正在使用
version()
以防止共享脚本可能相互冲突的缓存问题。https://laravel.com/docs/7.x/mix#versioning-和缓存破坏
如果这不起作用,您也可以尝试运行这些命令来清除laravel缓存。