apache中的多个laravel站点与apache服务器上的mssql和redis冲突

v9tzhpje  于 2021-06-10  发布在  Redis
关注(0)|答案(1)|浏览(279)

我在同一台服务器上托管了两个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>
nimxete2

nimxete21#

如果它在页面之间导航时自行解决,听起来像是浏览器缓存问题。
您是否使用mix来编译vue代码?确保您正在使用 version() 以防止共享脚本可能相互冲突的缓存问题。
https://laravel.com/docs/7.x/mix#versioning-和缓存破坏

mix.js('resources/js/app.js', 'public/js')
    .version();

如果这不起作用,您也可以尝试运行这些命令来清除laravel缓存。

php artisan clear-compile
php artisan config:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear

相关问题