#author("2022-12-28T12:55:26+09:00","","") #author("2022-12-28T12:55:49+09:00","","") * counter.inc.php: plugin_counter_get_popular_list_db() 中で未定義変数へのアクセス [#ic99b37b] - ページ: [[BugTrack]] - 投稿者: [[ぬぺぺ]] - 優先順位: 普通 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2022-12-28 (水) 12:51:28 - バージョン: 1.5.4 ** メッセージ [#e1dd4745] counter.inc.phpにおいて、関数 plugin_counter_get_popular_list_db() 中で未定義変数 $plugin_counter_db_options へのアクセスがあります。 global $plugin_counter_db_options の記述を忘れているようです。 ほかの関数でも3ヶ所 $plugin_counter_db_options へのアクセスがありますが、そちらはちゃんとglobal指定がされています。 DB全然わかんないんですけど、オプションが渡っていなくてあんまり良くないんじゃないでしょうか。 ***該当コード [#td9b2012] counter.inc.php global $plugin_counter_db_options; $plugin_counter_db_options = null; // For MySQL // $plugin_counter_db_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => // "SET NAMES utf8mb4 COLLATE utf8mb4_bin"); // : // 略 // : function plugin_counter_get_popular_list_db($today, $except, $max) { global $whatsnew; $page_counter_t = PLUGIN_COUNTER_DB_TABLE_NAME_PREFIX . 'page_counter'; if ($today) { $order_by_c = 'today_viewcount'; } else { $order_by_c = 'total'; } $counters = array(); try { $pdo = new PDO(PLUGIN_COUNTER_DB_CONNECT_STRING, PLUGIN_COUNTER_DB_USERNAME, PLUGIN_COUNTER_DB_PASSWORD, $plugin_counter_db_options); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $pdo->setAttribute(PDO::ATTR_TIMEOUT, 5); // : // 略 // : ***修正案 [#j65264ad] global指定を追加してみました。 global $plugin_counter_db_options; $plugin_counter_db_options = null; // For MySQL // $plugin_counter_db_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => // "SET NAMES utf8mb4 COLLATE utf8mb4_bin"); // : // 略 // : function plugin_counter_get_popular_list_db($today, $except, $max) { global $plugin_counter_db_options, $whatsnew; $page_counter_t = PLUGIN_COUNTER_DB_TABLE_NAME_PREFIX . 'page_counter'; if ($today) { $order_by_c = 'today_viewcount'; } else { $order_by_c = 'total'; } $counters = array(); try { $pdo = new PDO(PLUGIN_COUNTER_DB_CONNECT_STRING, PLUGIN_COUNTER_DB_USERNAME, PLUGIN_COUNTER_DB_PASSWORD, $plugin_counter_db_options); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $pdo->setAttribute(PDO::ATTR_TIMEOUT, 5); // : // 略 // : -------- #comment