• 環境

    WordPress 5.6.1, Ubuntu20.04 LTS Nginx1.18.0, Mariadb10.3, PHP7.4
    このサーバーはVPSへ設置。

    サイトは従来kusanagi wordpressで作成したものを、新たに借りた同じVPSのインスタンスに移設したものです。
    Gutenbergにて新規投稿の際に右のカラムからカテゴリーを選択しようとクリックしてもカテゴリーが現れません.更に使用中のプラグインを全部オフにしても変わりません.
    テーマのtwenty-twenty-oneで試してもカテゴリーは選択不可です.

    一方classic editorで投稿を作成する際はカテゴリーは選択可能で,実際に投稿に反映されます.
    なにとぞ解決方法をご教示願います.

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • こんにちは
    REST API の処理でなにかのエラーが発生しているのではないでしょうか。

    サーバーのエラーログを確認して下さい。

    トピック投稿者 wfcnobby

    (@wfcnobby)

    mnunyaguさん コメントありがとうございます。

    確かに発生していて「REST API は context クエリーパラメータを正しく処理しませんでした。」とサイトヘルスチェックで表示されています。

    同じくサイトヘルスチェックで「アクティブなphpセッションを検出」という警告も出ており、
    「session_start() 関数の呼び出しによって PHP セッションが作成されました。これは REST API およびループバックリクエストを妨害します。HTTP リクエストを行う前に、session_write_close() を使ってセッションを閉じる必要があります。」と表示されています。

    よろしくお願いします。

    トピック投稿者 wfcnobby

    (@wfcnobby)

    上記のサイトヘルスのリポートをwebなどであたっていましたが、このカテゴリー選択不能が解消されるような有益な情報は見つけられていないです。
    解決する一つの方法としてWordpressを導入しなおし、データをrestoreする方法もあると考えますが、やる作業が大きくて二の足を踏んでいます。
    引き続きよろしくお願いします。

    wfcnobbyさん、こんにちは。

    サイトヘルスチェックでエラーがあるとのことですが、REST API 周りにエラーがあるかどうかは、munyagu さんのおっしゃる通りサーバーのエラーを確認した方が確実です。
    サーバーで PHP のエラーログを teil で表示した状態で、該当のページにアクセスしてみて何らかのエラーが記録されるか確認します。
    エラーが記録されたらエラーの内容を確認し、場合によっては該当ファイルのソースコードを見てみるべきでしょう。

    ちなみに KUSANAGI の導入は通常版ですか?premium edition にアップグレードしてWEXAL を有効化していたりしませんよね?念のための確認です。
    KUSANAGI から別の KUSANAGI への移設を行っているとした場合、WordPress を kusanagi コマンドを使って導入していない場合、移設に失敗している可能性もありますので、改めてご確認ください。

    ご参考になれば。

    いずれからのプラグイン(あるいはテーマ)で正しくないセッションを使った処理をしているようです。

    プラグインをひとつひとつ無効にして、どのプラグインに問題があるのか調べてみてください。

    この件については「Wordpressを導入しなおし、データをrestoreする」というのは、やってみたら何かが変わったのでしょうが、有効かどうかに何の根拠もないように思われますが・・・

    トピック投稿者 wfcnobby

    (@wfcnobby)

    shokun0803さん コメント有難うございます.

    php.iniの Error handling and loggingでは
      error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

    またエラーログ文字列をphp.iniファイルの中で拾ってみましたが,コメントアウトされてます.

    cat /etc/php/7.4/fpm/php.ini | grep error_log
    ; server-specific log, STDERR, or a location specified by the error_log
    ; Set maximum length of log_errors. In error_log information about the source is
    ;error_log = php_errors.log
    ;error_log = syslog
    ; to syslog. Only used when error_log is set to syslog.
    ; the message. Only used when error_log is set to syslog.
    ; OPcache error_log file name. Empty string assumes “stderr”.
    ;opcache.error_log=

    上で助言頂いているエラーログを表示させるためには,php.iniにてerror_log=php_errors.logのようにコメントアウトする必要があるということでしょうか?
    なお当該ページへアクセスした後にsyslogを表示してみましたが,特に関連するエラーはないです.またphp.logを見ても
    [07-Mar-2021 00:00:07] NOTICE: error log file re-opened というものしか表示されていません.

    よろしくお願いします.

    トピック投稿者 wfcnobby

    (@wfcnobby)

    munyaguさん コメント有難うございます.

    >やってみたら何かが変わったのでしょうが、
    これはまだ実行していないですが,有効ではないようなのでやらない予定です.

    wfcnobbyさん、こんにちは。
    ※ ごめんなさい、Ubuntu に移設したとなってますね…ご自身で設定されたサーバーであるならログもご自身でご確認頂く必要がありますね。通常ログは /var/log 以下、Nginx ならそこに Nginx のエラーログがあるはずです。ご確認を。以下は参考までで無視頂いていいです。

    エラーログの確認場所が不明とのことでよろしかったでしょうか。
    現在の環境が KUSANAGI であると信じて以下にログは表示されていませんでしょうか。

    /home/kusanagi/(プロビジョニングしたプロファイル名)/log/(nginx or httpd)/error.log

    例) /home/kusanagi/kusanagi_html/log/nginx/error.log

    上記エラーログを確認しながら状況の切り分けを行ってみるとよいかと思います。

    ご参考になれば。

    トピック投稿者 wfcnobby

    (@wfcnobby)

    shokun0803さん コメントありがとうございます。

    環境はkusanagiからnon-kusanagi環境へ引っ越しました。
    さてnginxのログですが、エラーを起こすページへアクセスしたのち
    tail /var/log/nginx/error.logで見ていますが、関係するエラーは発生していません。

    phpで発生するエラーは私の環境の場合は上記nginxのエラーと同じ内容と理解していいのでしょうか?
    あるいは別途php.logのようなエラー格納場所があるのでしょうか?

    wfcnobbyさん、こんにちは。

    Ubuntu はほとんど触ったことがないので、正確な情報をお伝えするのが難しいのですが、私の個人的な環境で WSL 上で PHP 7.4 をインストールした環境であれば、 /var/log/php7.4-fpm.log が確認できます。
    どのように LAMP 環境を構築したのかで変わるとは思いますが、/var/log 内を確認してみてはいかがでしょうか。

    ご参考になれば。

    トピック投稿者 wfcnobby

    (@wfcnobby)

    Shokun0803さん コメント有難うございます.

    /var/log/nginx/nginx.log には関連しそうな有益な情報は出ていませんでした.

    またphp7.4-fpm.logには直近のエラーログは有りません.
    [07-Mar-2021 00:00:07] NOTICE: error log file re-opened

11件の返信を表示中 - 1 - 11件目 (全11件中)
  • トピック「登録していたカテゴリーが選択できなくなった」には新たに返信することはできません。