オリジナル原稿は2020年6月28日作成。
最近久々にTablePressを作ってみると、ある程度の数に達した時から保存ができなくなった。正確には保存できてもよーく見ると「DataTables JavaScriptライブラリの機能」のチェックを入れたい箇所が丸ごと外れている。何度保存しても外れる。新規に追加したものも消えている。
最初は調べてPHPのバージョンなのか?とかバージョンが古いのか?とか色々やってみたが、どれもうまくいかない。これではラチがかないので、おもいついた対処法を試してみる事にした。するとひとまずはうまくいったのでここに備忘録として記録しておく。※もう一つうまくいったほうがあったので後述する。
なのでたまたまうまくいっただけかもしれないので、参考にする際にはあらかじめ消えては困るサイトそのものデータなどを先に保存し、自己責任の元でやってみてください。
※参考までに保存はUpdraftPlus Backupsというのを使用している。これがいいのかどうかはわからない。
一つ目の方法
まず、すでに作ってあるテーブルとは別に新規にテーブルを作る。
保存が可能そうなところまである程度テーブル内のデータを作成したら保存し、「テーブルをエクスポートする」※おそらく通常は一番下あたりに表示されているはず。
「テーブルをエクスポートする」の設定。
4つほど選択窓があると思うが、一番上の「エクスポートするテーブル」はそのままのとおりダウンロードしたいテーブルを選択。今回は新規に作成したテーブルがそれに当たる。
「エクスポート形式」は何も触らず「CSV- 文字区切り値」のまま。
「CSVの区切り文字」もそのままで「, (カンマ)」
そして「エクスポートファイルをダウンロード」を押す。
ダウンロードしたら次にそれを「インポート」する。
「インポートのソース」は「ファイルのアップロード」を選択。
「インポート」画面の設定は「ファイルを選択」は今先ほどダウンロードしたもの。
「インポート形式」はそのままで「CSV- 文字区切り値」
「新規作成、置換、追加から選択」からは「既存のテーブルに行を追加」を選択。
「置換/追加対象のテーブル」からは本来データを入れたかったテーブルを選択。
きっちり追加されていたら、保存を押す。
すると今回は問題なく追加されたデータを含めて保存されていた。確認したところ一番下の「DataTables JavaScriptライブラリの機能」のチェックを入れたい箇所も問題なくチェックされたままだった。
※試しにやって見る際は本来追加したいテーブルにいきなりやるのではなく、それをダウンロードして再度アップロードして別のテーブルを作成し、それに追加する形で試して見るのがいいかと思います。
二つ目の方法
それぞれのサーバー環境とかわからないですが、サーバーのコントロールパネル的なものがあれば、そこに「WAF設定」があると思います。これは外敵から自分のサイトを守るためのものらしく通常「有効」になっているようですが、保存ができなかった時に出現していた「admin-ajax.php・・・」という表示がこれと深く関係しているらしく、試しに保存できない作成中のテーブルの「保存」ボタンを何度か押して見るとその「ログ参照」の中の時間帯と完全に同期していました。なので、これを除外する必要があるのではないかと考えていたのですが、「ログ参照」の中にちょうど「除外設定」なるボタンがあったので、それで試しに押して見て、しばらく10分くらい?して保存を押して見ると保存が問題なくできるようになっていました。「除外設定」に除外対象を加えて実際に反映されるまでの時間は使用されているサーバーによって差があるようです。調べたところ中には1時間〜数時間と書かれているものもありました。
これが今対処できる一番の答えなのかもしれません。
最近久々にTablePressを作ってみると、ある程度の数に達した時から保存ができなくなった。正確には保存できてもよーく見ると「DataTables JavaScriptライブラリの機能」のチェックを入れたい箇所が丸ごと外れている。何度保存しても外れる。新規に追加したものも消えている。
最初は調べてPHPのバージョンなのか?とかバージョンが古いのか?とか色々やってみたが、どれもうまくいかない。これではラチがかないので、おもいついた対処法を試してみる事にした。するとひとまずはうまくいったのでここに備忘録として記録しておく。※もう一つうまくいったほうがあったので後述する。
なのでたまたまうまくいっただけかもしれないので、参考にする際にはあらかじめ消えては困るサイトそのものデータなどを先に保存し、自己責任の元でやってみてください。
※参考までに保存はUpdraftPlus Backupsというのを使用している。これがいいのかどうかはわからない。
一つ目の方法
まず、すでに作ってあるテーブルとは別に新規にテーブルを作る。
保存が可能そうなところまである程度テーブル内のデータを作成したら保存し、「テーブルをエクスポートする」※おそらく通常は一番下あたりに表示されているはず。
「テーブルをエクスポートする」の設定。
4つほど選択窓があると思うが、一番上の「エクスポートするテーブル」はそのままのとおりダウンロードしたいテーブルを選択。今回は新規に作成したテーブルがそれに当たる。
「エクスポート形式」は何も触らず「CSV- 文字区切り値」のまま。
「CSVの区切り文字」もそのままで「, (カンマ)」
そして「エクスポートファイルをダウンロード」を押す。
ダウンロードしたら次にそれを「インポート」する。
「インポートのソース」は「ファイルのアップロード」を選択。
「インポート」画面の設定は「ファイルを選択」は今先ほどダウンロードしたもの。
「インポート形式」はそのままで「CSV- 文字区切り値」
「新規作成、置換、追加から選択」からは「既存のテーブルに行を追加」を選択。
「置換/追加対象のテーブル」からは本来データを入れたかったテーブルを選択。
きっちり追加されていたら、保存を押す。
すると今回は問題なく追加されたデータを含めて保存されていた。確認したところ一番下の「DataTables JavaScriptライブラリの機能」のチェックを入れたい箇所も問題なくチェックされたままだった。
※試しにやって見る際は本来追加したいテーブルにいきなりやるのではなく、それをダウンロードして再度アップロードして別のテーブルを作成し、それに追加する形で試して見るのがいいかと思います。
二つ目の方法
それぞれのサーバー環境とかわからないですが、サーバーのコントロールパネル的なものがあれば、そこに「WAF設定」があると思います。これは外敵から自分のサイトを守るためのものらしく通常「有効」になっているようですが、保存ができなかった時に出現していた「admin-ajax.php・・・」という表示がこれと深く関係しているらしく、試しに保存できない作成中のテーブルの「保存」ボタンを何度か押して見るとその「ログ参照」の中の時間帯と完全に同期していました。なので、これを除外する必要があるのではないかと考えていたのですが、「ログ参照」の中にちょうど「除外設定」なるボタンがあったので、それで試しに押して見て、しばらく10分くらい?して保存を押して見ると保存が問題なくできるようになっていました。「除外設定」に除外対象を加えて実際に反映されるまでの時間は使用されているサーバーによって差があるようです。調べたところ中には1時間〜数時間と書かれているものもありました。
これが今対処できる一番の答えなのかもしれません。
コメント
コメントを投稿