バージョンアップ後 ブロックの設定 記事一覧 で絞り込みができない 投稿する

投稿者:51 goat  投稿日時:2023-10-20 14:29:54
いつもお世話になっております。soy cmsの開発ご苦労様です。
早速ですが、soy cmsのバージョンアップ後、ページの「記事表示用ブロック」「ブロックの設定」で「記事一覧」からラベルを選択しても記事の絞り込みができず、記事の一覧が0件になります。すべて表示では正常に表示されます。
また、同じレンタルサーバーの別サイトでsoy cms3.11.34を使用していますが、そちらは正常に動作しております。
こちらの環境は以下の通りです。

サーバー:xserver
PHPバージョン:PHP Version: 8.0.30
データベース:SQlite
soy cmsバージョン:3.13.11
です。

お忙しいとは思いますが対応策をご教授いただければ幸いです。よろしくお願いいたします。
投稿者:齋藤毅  投稿日時:2023-10-20 14:48:26
SOY CMSのバージョンアップ後とのことですが、前のバージョンが何であるか?はわかりませんので違うかもしれませんが、初期管理者でログインしなおし、データベースの更新をすれば解決することが多いです。
投稿者:51 goat  投稿日時:2023-10-20 16:01:18
齋藤 様

ご回答ありがとうございます。
うろ覚えで恐縮ですが、バージョンアップ後にデータベースの更新は出てなかったと思います。
ご教示いただいたように初期管理者でログインしなおしなおしましたが、データベースの更新は表示されませんでした。
手動でデータベースの更新をする方法はありますでしょうか?
投稿者:齋藤毅  投稿日時:2023-10-20 16:12:24
手動の場合は
DB Browser for SQLite等のソフトウェアで/CMSインストールディレクトリ/common/sql/update/ 以下のSQLファイルに書かれているsqlのクエリを実行します。
https://forest.watch.impress.co.jp/library/software/sqldbbrowser/
投稿者:齋藤毅  投稿日時:2023-10-21 08:08:50
データベースのファイルのパスの記載を忘れていました。
SQLite版の場合は、
/ドキュメントルート/サイトID/.db/sqlite.db
になります。
投稿者:51 goat  投稿日時:2023-10-23 10:30:07
齋藤 様

度々のご対応ありがとうございます。
SQLファイルの場所ですが、/CMSインストールディレクトリ/common/sql/update/以下に/adminと/updateのディレクトリがあります。
どちらのディレクトリのSQLを実行すればよろしいでしょうか?
また、複数のSQLファイルがあります。
update-2.sqlからupdate-8.sqlまでありますが、これはすべてを実行するのでしょうか?
投稿者:齋藤毅  投稿日時:2023-10-23 10:52:31
/CMSインストールディレクトリ/common/sql/update/以下に/adminと/updateのディレクトリ
上記の件ですが、siteディレクトリの方になります。

update-2.sqlからupdate-8.sqlまでありますが、これはすべてを実行するのでしょうか?
すべて実行してください。
すでに実行されているSQLは無視されます。
投稿者:51 goat  投稿日時:2023-10-23 18:43:49
齋藤 様

SQLファイルを実行しましたが、特に変化はありませんでした。
試しに、別ドメインのsoy cms3.11.34 を 3.13.11にバージョンアップしました。
バージョンアップ後、データベースの更新も行いましたが、やはり記事の絞り込みができず、表示件数が0件になりました。
投稿者:齋藤毅  投稿日時:2023-10-24 05:18:55
記事の絞り込みが出来る方のPHPのバージョンは何になりますか?
それと、記事が多すぎると使用できないかもしれませんので、記事数のご確認をよろしくおねがいします。
投稿者:51 goat  投稿日時:2023-10-24 13:55:11
はい。バージョンアップ前のsoy cms 3.11.34で使用しているPHPのバージョンは8.0.30です。
soy cms 3.11.34を使用していたサイトの記事数は76件、
当初投稿したサイトの記事数は549件です。
投稿者:齋藤毅  投稿日時:2023-10-24 14:28:54
当初投稿したサイトの記事数は549件です。
5000件以上のサイトでも動作しているので、上記の件数で動作しないのは、別の要因なのですね。

他に怪しいものがあるとすれば、サーバのエンコードの設定あたりでしょうか。
投稿者:51 goat  投稿日時:2023-10-24 16:51:57
WEBサーバー自体のエンコード設定はできないです。
PHPのエンコードに関する部分は画像の通りです。
ついでにphp.iniの全体も投稿します。

[PHP]
engine = On
default_charset = UTF-8

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
display_errors = On
display_startup_errors = Off

max_execution_time = 30
max_input_time = 60
memory_limit = 200M

allow_url_fopen = On
allow_url_include = Off
file_uploads = On

post_max_size = 30M
upload_max_filesize = 30M

register_argc_argv = Off
short_open_tag = On
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func=
serialize_precision = 100
disable_functions =
disable_classes =
expose_php = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
variables_order = "EGPCS"
auto_globals_jit = On
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
doc_root =
user_dir =
enable_dl = On
default_socket_timeout = 60

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input =
mbstring.http_output =
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none

[Date]
date.timezone = "Asia/Tokyo"

[Syslog]
define_syslog_variables = Off

[mail function]
SMTP = localhost
smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t -i

[SQL]
sql.safe_mode = Off

[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1

[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket = /var/lib/mysql/mysql.sock
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off

[MySQLi]
mysqli.max_links = -1
mysqli.default_port = 3306
mysqli.default_socket = /var/lib/mysql/mysql.sock
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off

[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1

[PostgresSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0

[Sybase]
sybase.allow_persistent = On
sybase.max_persistent = -1
sybase.max_links = -1
sybase.min_error_severity = 10
sybase.min_message_severity = 10
sybase.compatability_mode = Off

[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10

[bcmath]
bcmath.scale = 0

[Informix]
ifx.default_host =
ifx.default_user =
ifx.default_password =
ifx.allow_persistent = On
ifx.max_persistent = -1
ifx.max_links = -1
ifx.textasvarchar = 0
ifx.byteasvarchar = 0
ifx.charasvarchar = 0
ifx.blobinfile = 0
ifx.nullformat = 0

[Session]
session.save_handler = files
session.save_path = "/home/hogehoge/hogehoge.jp/xserver_php/session"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 32
session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 1
session.hash_bits_per_character = 5
session.use_strict_mode = 1

[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off

[Tidy]
tidy.clean_output = Off

[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400

[Zend Optimizer]
zend_extension = opcache.so
opcache.jit = off

pdo_mysql.default_socket = /var/lib/mysql/mysql.sock
投稿者:齋藤毅  投稿日時:2023-10-25 04:13:39
php.iniの情報をありがとうございます。
ただ、php.iniからでは原因の特定が難しいので、ラベル選択時にエラーが出ていないか?の確認をお願いします。

javascriptのエラーの確認方法は下記のURL先の記事を参考にすると良いです。
https://eng-entrance.com/javascript-display-error
投稿者:51 goat  投稿日時:2023-10-25 09:10:34
齋藤 様

一応解決いたしました。
試しにPHPのバージョンを8.0.30 から 8.1.22 に変更したところラベルの絞り込みが効くようになりました。
また、バージョンを8.0.30に戻すと、やはり絞り込みが効きませんでした。
この症状はPHP8.0.30とsoy cms3.13.11の組み合わせの時に発生するようです。
投稿者:齋藤毅  投稿日時:2023-10-25 09:15:48
調査をありがとうございます。
記事の絞り込みはJSONの機能を使用していますので、php8.0-jsonが入っていなかったり、動作できない状態だったのかもしれません。
ログインして投稿する