テンプレートに記述したPHPの実行について

インストール後の運用中に生じた質問などはこちら。
管理画面の操作方法でわからないところやTipsなども

テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月07日(火) 12:17

いつもお世話になっております。

アメブロのRSSを読み込んで記事の一覧をトップページに表示しているサイトがあります。
テンプレートに記述したPHPでRSSを読み込み記事一覧に整形し表示しているのですが、1年ほど前の稼働当初は特に問題なかったようですが、最近になって最新の記事が表示できていないことが発覚しました。
RSSには出力されていて、1週間程度前までの記事は一覧表示できています。

PHPでRSSを取得する際、読み込むRSSのURLに乱数もしくは日時秒を追加してキャッシュをスルーしているが、SOY側で表示する際に古い情報(SOY側にキャッシュされたデータ?)が表示されているように見受けられます。
念の為、common/config/user.config.phpを確認したところ、キャッシュはOFFになっているので原因がわかりません。
テンプレートorモジュールに記述したPHPがプログラムを実行するタイミングが、管理画面でのテンプレートの更新に依存しているのでしょうか?

原因および対処方法をご教示いただけると助かります。

SOY CMSの稼働環境は以下です。
Version: 1.8.15p7.24
DB Type: mysql
Allow PHP Script: true
PHP Version: 5.6.30
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42

Re: テンプレートに記述したPHPの実行について

投稿記事by inunosinsi on 2020年7月08日(水) 03:47

借りているサーバでPHPのキャッシュ周りの設定が変更になったのでしょうか?
今まで取得できているところ、突然変わったのであればそこらへんを疑うことから始めます。

Zend OPCacheあたりから調べます。
https://www.checksite.jp/php55-zend-opcache/
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 1056
登録日時: 2008年6月12日(木) 20:48

Re: テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月08日(水) 10:34

ご返答いただきありがとうございます。
ひとまずPHPの設定を確認してみます。
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42

Re: テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月08日(水) 12:22

度々すみません。

サーバー側のアナウンスはなく、サーバーのPHPのキャッシュ周りの設定が変更されたかわからなかったのですが、SOYとは別に動作する形で乱数を表示させるプログラムを設置してみたところ、これについては表示のたびに更新されているのでサーバー側のキャッシュではないようにも見受けられます。

また、SOY Inquiryでフォームの項目を変更した際にもSOY管理画面でキャッシュをクリアしないと反映されなかったりするので、SOY側でキャッシュされている可能性がありそうにも思います。
(common/config/user.config.phpではキャッシュはOFFになっており、1.8系なのでキャッシュ関連のプラグインは導入されていません)
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42

Re: テンプレートに記述したPHPの実行について

投稿記事by inunosinsi on 2020年7月08日(水) 15:16

1年ほど前の稼働当初は特に問題なかったようですが、最近になって最新の記事が表示できていないことが発覚しました。

今まで取得できているところ、突然変わったのであればそこらへんを疑うことから始めます。

今回の話は今まで動いていて、SOY CMSやサーバのPHPをバージョンアップしてないにも関わらず突然動作しなくなったのでしょうか?
それによって調べる箇所が変わります。

SOY CMSかPHPの変更に心当たりがあるのであれば、SOY CMSのキャッシュを疑いますが、突然動作しなくなったのであれば、サーバ側の設定に問題があるとアタリを付けて調査を続けます。

テンプレートorモジュールに記述したPHPがプログラムを実行するタイミングが、管理画面でのテンプレートの更新に依存しているのでしょうか?

上記の内容はご指摘どおりキャッシュの削除やテンプレートの更新に依存していますが、SOY CMSの仕様はRSSの読み込みの際から変わっていないので、設置の時点で想定していない動作になることは確実です。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 1056
登録日時: 2008年6月12日(木) 20:48

Re: テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月08日(水) 15:36

不確かな情報で申し訳ありません。
1年ほど前の稼働当初は特に問題なかったようですが、最近になって最新の記事が表示できていないことが発覚しました。
についてはフィード読み込み用のPHPを組み込んだ当初からうまく表示が更新されていない可能性もあり、都度コンテンツの改訂等を行っているために表示が更新されているように見えていただけという可能性もあります。
これについては突然表示が更新されなくなったのか、そもそも何らか強制的な更新がかからないと表示が更新されていなかったかは今のところ不明です。

SOY CMSの環境についてはフィード読み込み用のPHPを組み込んでからは変更していません。

同じクライアントの別サイトで同じURLのフィードを表示しており、同じフィード読み込み用のPHPを組み込んでいますが問題はありません。違いがあるとすればうまく更新ができていないSOYはmySQLで、特に問題がない方のSOYはSQLiteで稼働しているという点です。

もし、テンプレートに記述されたPHPの実行は
キャッシュの削除やテンプレートの更新に依存
するというのがSOYの仕様なのであれば、サーバーやSOY側の問題ではなく、別の方法でフィードを読み込み表示を検討しなければならないですね。
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42

Re: テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月08日(水) 18:11

ブログでキャッシュについて書かれていたのを見てみると、当該サイトは/ルート/サイトID/index.phpのキャッシュ設定が「execute_site_cache();」になっていました。
https://bit.ly/2ZRS5Kh
こちらをOFFにして様子を見てみます。
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42

Re: テンプレートに記述したPHPの実行について

投稿記事by inunosinsi on 2020年7月09日(木) 05:39

当該サイトは/ルート/サイトID/index.phpのキャッシュ設定が「execute_site_cache();」になっていました。

execute_site_cache()はuser.config.phpのキャッシュ周りの記述がコメントアウトであれば強制的にキャッシュを使用するモードですので、今回の報告のような症状になり得ます。
大阪でフリーのプログラマをしています。
以前はSOY CMSの開発元で働いていました。

SOY ShopのプラグインやSOY Appの開発のサポートをしています。
http://saitodev.co/soycms(SOY CMSのマニュアルを作成しています)
開発実績等

最近はSOY Shopを業務アプリとして使用できないか?と模索しています。
SOY Shopで管理画面のみ使用モードを追加しました - saitodev.co

株式会社京都農販(SOY Shopのサイト)
株式会社コトブキ園(SOY Shop)
inunosinsi
 
記事: 1056
登録日時: 2008年6月12日(木) 20:48

Re: テンプレートに記述したPHPの実行について

投稿記事by designlog on 2020年7月09日(木) 13:48

/ルート/サイトID/index.phpのキャッシュ設定を「execute_site();」にすることで解決できたようです。
ありがとうございました。
designlog
 
記事: 113
登録日時: 2010年1月11日(月) 16:42


Return to 運用・操作方法

オンラインデータ

このフォーラムを閲覧中のユーザー: Google [Bot] & ゲスト[2人]