Call to undefined method Phalcon\Paginator\Adapter\Model::getPaginate()のエラー対応

Phalcon 5.xにバージョンアップした際に以下のエラーが発生

Call to undefined method Phalcon\Paginator\Adapter\Model::getPaginate()
#0 [internal function]: App\Controllers\RecipeController->searchAction()
#1 [internal function]: Phalcon\Dispatcher\AbstractDispatcher->callActionMethod()
#2 [internal function]: Phalcon\Dispatcher\AbstractDispatcher->dispatch()
#3 {pathto}/public/index.php(30): Phalcon\Mvc\Application->handle()
#4 {main}

getPaginate()エラーの対応方法

Phalcon 4.xにアップグレードされたときにfunction名が変わったようです。
https://docs.phalcon.io/4.0/ja-jp/upgrade#paginator

getPaginate()からpaginate()に変更

call_user_func()エラー発生

続いて以下のエラーが発生

call_user_func(): Argument #1 ($callback) must be a valid callback, first array member is not a valid class name or object
#0 [internal function]: call_user_func()
#1 {pathto}/controllers/RecipeController.php(65): Phalcon\Paginator\Adapter\Model->paginate()
#2 [internal function]: App\Controllers\RecipeController->searchAction()
#3 [internal function]: Phalcon\Dispatcher\AbstractDispatcher->callActionMethod()
#4 [internal function]: Phalcon\Dispatcher\AbstractDispatcher->dispatch()
#5 {pathto}/public/index.php(30): Phalcon\Mvc\Application->handle()
#6 {main}

これは、new Phalcon\Paginator\Adapter\Model()の時に渡すパラメータが間違っているため。
phalcon 5.xの使い方に合わせて以下の3つのどれかに修正する必要があります。

注意点として、Phalcon\Paginator\Adapter\Modelは多数のレコードのページネーションに使わないでとなっているので、DBからデータを取得してページネーションを使うならPhalcon\Paginator\Adapter\QueryBuilderにしとくのが良さげです。

RLogin、VS CodeでSSH接続できない!?SSH2のエラー「publickey,gssapi-keyex,gssapi-with-mic」の対処

RLoginやVS CodeでSSH接続できなかったので、その対処法。

経緯

PCを交換しWindows10からWindows11に変更。

RLoginでLinuxサーバーにSSH接続を試すも失敗。

その後、VS CodeのRmote SSHでも失敗。

下記2種類のエラーでログインできなかったので対処法をメモ。

  • gssapi-with-micエラー
  • SSHエラー

gssapi-with-micエラー

gssapi-with-micのエラー内容

RLoginのエラー内容

RLoginでログインしようとした際に、以下のエラーが発生。

SSH2 User Auth Failure "publickey.gssapi-keyex,gssapi-with-mic" Status=1004
Send Disconnect Message...
gssapi-with-mic({サーバーのIP})

VS Codeのエラー内容

VS CodeのRemote SSHを使用し、サーバーにログインしようとした際に以下のエラーが発生。

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

gssapi-with-micエラーの対処法

調べてみるとユーザー名が間違ってたりするとこのエラーになるみたいなんですが、今回は違う理由でした。

ただの秘密鍵の指定ミスw

正しい秘密鍵を使用していなかったのでエラーでした。

秘密鍵(PrivateKey)を忘れていないか、指定ミスがないか確認してみましょう。

SHAエラー

SHAのエラー内容

RLoginで以下のエラーが発生。

SSH2 User Auth Failure "publickey.gssapi-keyex,gssapi-with-mic" Status=1004
Send Disconnect Message...
publickey(rsa-sha2-256), gssapi-with-mic({サーバーのIP})

You may need to change the ssh-rsa key sign algorithm SHA1 to SHA2-256/512

SHAエラーの対処法

公開鍵、秘密鍵がSHA1で作成されていて、それを使用しているためエラー。
セキュリティ的にもSHA2で作成しなおしたほうが良いです。

どうしても、今あるキーでログインしたい場合は、RLoginの設定を一時的に変更してログイン。

変更方法は以下。

  1. サーバーを選択し、「編集」ボタンをクリック
  2. 左メニューから「プロトコル」を選択
  3. 「RSA2認証鍵の署名方式」を「SSH1」に変更し、「OK」ボタンをクリック

これでログインできるようになりました。

それでもログインできない場合は、「known_hosts」に書き込まれた内容を削除してみてください。

・削除方法

  1. 「C:/Users/{user name}/.ssh/known_hosts」を開き、対象のサーバの記述を削除。

SSH1でログインできたからといってそのままにしておかず、早めにSHA2に変更しておきましょう!

その際にサーバー側がOPENSSH7.2以前だとSHA1のみのようなので、OPENSSHのバージョンも確認し必要ならアップデートしておきましょう。

・OPENSSHのバージョン確認コマンド

ssh -V

Windowsのターミナルソフト「RLogin」の導入方法。見やすくて便利なターミナル!

Windows用のターミナルソフト「RLogin」を使用する方法をご紹介!

サーバーにSSH接続して、コマンド実行することができます。
結構見やすくて便利です。

RLoginを導入

導入は簡単です!ダウンロードして実行でOK。

インストール不要で使うことができます。

RLoginをダウンロード

Githubに実行プログラムがあるのでダウンロード。

https://github.com/kmiya-culti/RLogin/releases/

ダウンロードしたZipを解凍

「rlogin_x64.zip」のようなZipファイルがダウンロードされたと思うので、それを解凍。

解凍場所はどこでも大丈夫です。

RLogin.exeを実行

解凍したファイルに「RLogin.exe」があるので、それを実行すればRLoginが立ち上がります。
インストールの実行は不要です。

RLoginのマニュアルはこちら
https://kmiya-culti.github.io/RLogin/

【WordPress】Customizer Export/Importでインポートした内容を削除する方法

WordPressのプラグイン「Customizer Export/Import」を使用して、インポートした内容・設定を削除する方法をご紹介します。

Customizer Export/Importでインポートした内容を削除は、他のプラグインを使用することで削除できます。

インポートしたけど、一旦なかったことにしたい、無効化したいという方は参考にしてみてください。

Customizer Export/Importの設定リセット

Customizer Export/Importの設定をリセット(削除)するには、「Customizer Reset」というプラグインを使用することでリセット可能です。

Customizer Export/Importでは、インポートもしくはエクスポートしかできないので要注意です。

リセット手順は簡単です。

  1. まずは、プラグインの新規追加で「Customizer Reset」で検索して、インストール&有効化してください。
  2. その次に、「外観」>「カスタマイズ」と進んでください。
  3. 左側のサイドメニュー上部に「Reset」ボタンが表示されていると思うのでクリック。

これで、Customizer Export/Importでインポートした内容をリセット(削除)できます。

削除後に、またインポートできますのでお好きなものをインポートとしてください。

以上です。良きWordpressライフを!

WordPressのウィジェットが使いづらい!従来のウィジェットに戻す方法

WordPressがまた使いづらくなりましたね。

WordPressのバージョン5.8になったあたりから、外観のウィジェットがものすごく使いづらさアップ。
見づらいし、設定しづらいしでなんでこうしたのって感じです。テーマによってはデザインが変わってしまったりするので困ってる方もいるのではないでしょうか。

プラグイン導入で解決できたのでメモ。

使いづらい点

まずは、使いづらいと思った点。

1. 単純に見づらい(個人的な感想)
2. ブロックの概念がわかりづらい
3. 柔軟性が増してるようでめんどくさい

カテゴリーのリンクを表示するのにも、タイトルとカテゴリーリンクを別々に設定しなきゃいけなかったりします。
柔軟性アップのようにも感じますが、1つにまとめるならグループ化したり、しなかったら削除がめんどくさかったりとあまりメリットを感じられませんでした。

対応方法

対応方法として「Classic Widgets」というプラグインが良かったです。
ウィジェット編集ページがバージョンアップする前の旧バージョンになります!

ドラッグ&ドロップする使い方もしてたので、旧バージョンの方が好みです。

「Classic Widgets」のプラグインは、インストールして有効化すればOK!

Classicつながりで記事投稿を旧バージョンに戻す方法はこちら
WordPressで「>」などが勝手にエスケープされる問題を解決する方法

良きWordpressライフを!