質問するログイン新規登録

質問編集履歴

3

キャッシュディレクトリを作成し明示的に指定までしてもそもそもキャッシュが書き込まれない

2019/09/10 13:12

投稿

Take_it
Take_it

スコア357

title CHANGED
File without changes
body CHANGED
@@ -88,4 +88,15 @@
88
88
  /var/www/html/****/cache/
89
89
 
90
90
  となるのですが、そのようなディレクトリがそもそも見当たらないのです。これは一体どういうことなのでしょうか。。。
91
- WinSCPでアクセスしても、Tera Termでアクセスしてディレクトリを辿っていっても、存在しません。。
91
+ WinSCPでアクセスしても、Tera Termでアクセスしてディレクトリを辿っていっても、存在しません。。
92
+
93
+ ### 2019-09-10追記3
94
+ /var/www/html/****/cache/
95
+ をパーミッション777で作成し、
96
+ ```PHP
97
+ $smarty->cache_dir = 'cache/';
98
+ ```
99
+ としてみましたが、特に何かファイルが生成されたり書き込まれたりする様子もありません。
100
+ ますます謎。。
101
+
102
+ ですがブラウザ版やPCからのアクセスは問題が生じないので、そもそもやはりsmartyのキャッシュ云々が今回の原因ではないと思われますので、どうしたものでしょうか。。

2

smartyのキャッシュディレクトリがそもそも見当たらない

2019/09/10 13:12

投稿

Take_it
Take_it

スコア357

title CHANGED
File without changes
body CHANGED
@@ -75,6 +75,17 @@
75
75
  })
76
76
  );
77
77
  });
78
+ ```
78
79
 
80
+ ### 2019-09-10追記2
81
+ smartyのキャッシュについて調べていて、template_cがキャッシュではなくコンパイルディレクトリだろということなので、、
82
+ https://codeday.me/jp/qa/20190324/470140.html
83
+ ```PHP
84
+ echo $smarty->cache_dir;
85
+ ```
86
+ としてみたところ、、、
79
87
 
88
+ /var/www/html/****/cache/
89
+
90
+ となるのですが、そのようなディレクトリがそもそも見当たらないのです。これは一体どういうことなのでしょうか。。。
80
- ```
91
+ WinSCPでアクセスしても、Tera Termでアクセスしてディレクトリを辿っていっても、存在しません。。

1

まだ解決していません。試した内容等を追記しました。

2019/09/10 12:58

投稿

Take_it
Take_it

スコア357

title CHANGED
File without changes
body CHANGED
@@ -28,4 +28,53 @@
28
28
 
29
29
  (曖昧な質問過ぎて申し訳ありません)
30
30
  (PCでのアクセスが正常であることから、PHPのコード側には特に問題はないと考えており、記載を省略しています)
31
- (何か提示した方がいい事項がありましたらご指摘下さると幸いです)
31
+ (何か提示した方がいい事項がありましたらご指摘下さると幸いです)
32
+
33
+ ### 2019-09-10追記
34
+ ・現象が起きるのは、AndroidタブレットでかつPWAアプリ上で、「target="***"」と別ウインドウを指定したPOSTのみ。
35
+ ・問題が起きてるAndroidタブレットでも、Chromeブラウザ上では問題が再現しない。
36
+ ・PCからのアクセスでも再現しない。
37
+ ・Chromeのキャッシュクリアを複数回試みたが改善しない
38
+ ・Smartyのキャッシュ(template_c)を削除しても改善しない
39
+
40
+ 関係あるのかどうかわかりませんが、template_c以下に生成されているファイル群、所有者がApacheとrootの二種類が混在しています。
41
+ ![イメージ説明](d5cd8081ec613e38e55e1f6afccf07e5.png)
42
+ 一般的にこれは正しい状態なのでしょうか・・・?
43
+
44
+ あと、PWAを実装するのは今回が初めてで、適当に解説を斜め読みして対応してるので、そこに問題があったりするのでしょうか・・・。
45
+
46
+ ```js
47
+ service_worker.js
48
+
49
+ // キャッシュファイルの指定
50
+ var CACHE_NAME = 'caches';
51
+ var urlsToCache = [
52
+ 'https://*****.com/****/sounds/check.mp3',
53
+ 'https://*****.com/****/imgs/1.png',
54
+ 'https://*****.com/****/imgs/2.png'
55
+ ];
56
+
57
+ // インストール処理
58
+ self.addEventListener('install', function(event) {
59
+ event.waitUntil(
60
+ caches
61
+ .open(CACHE_NAME)
62
+ .then(function(cache) {
63
+ return cache.addAll(urlsToCache);
64
+ })
65
+ );
66
+ });
67
+
68
+ // リソースフェッチ時のキャッシュロード処理
69
+ self.addEventListener('fetch', function(event) {
70
+ event.respondWith(
71
+ caches
72
+ .match(event.request)
73
+ .then(function(response) {
74
+ return response ? response : fetch(event.request);
75
+ })
76
+ );
77
+ });
78
+
79
+
80
+ ```