タグ: Wordpress

  • WordPressのURLをDBで変更する方法のメモ

    ミスで、Wordpress上で、サイトのURLを変更してしまい、管理画面などにアクセスできなくなった場合に、WordpressのURLをDBの値を直接書き換えて変更する方法のメモ。

    WordPressのURLの情報は、DBの「wp_options」(wp_ は設定によっては変わる)に入っている。”option_name”の”siteurl”と”home”を検索して、値を調べる。これの値が、誤って変更したURLになっていれば、この2つを正しいものにUpdate文で更新する。

    検索するSQL

    select * from wp_options where option_name = 'siteurl';
    select * from wp_options where option_name = 'home';

    UpdateするSQL文

    update wp_options set option_value = 'https://新しいURLを入れる'  where option_name = 'siteurl';
    update wp_options set option_value = 'https://新しいURLを入れる'  where option_name = 'home';
  • めも。

    ファイルオーナーを変えてもFTPログインなしでWordpressのアップデートができない。そんなはずはないと思い、いろいろとチェックしたら、wp-config.phpに、過去にFTPの代わりにSSH2でアップデートをするために加えたFS_METHODの指定があった。これが邪魔をしていたようで、消したところ、FTPのユーザを聞かれずにアップデートができるようになった。

    /** SSH SFTP Updater **/
    define('FS_METHOD', 'ssh2');

    設定を変えようと思ったのは、SSH2でのアップデートが失敗するようになったのが原因。プラグインの過去の設定と競合して、機能しなくなるとは。コンフィグまでちゃんと見直す必要はある。

  • WordPress5.6にしたら、投稿画面がエラーになった

    WordPress 5.6にアップデートしたら、投稿画面の表示でエラーになった。ブラウザの画面には、エラーになったことしか表示されないので、詳しいエラー内容をコピーして確認した。

    確認したところ、Javascriptばかりがエラーになっていた。なので、ブラウザのキャッシュに残っているものが悪さをしている。ブラウザのキャッシュを削除して、再度Wordpressの管理画面にアクセスしたところ、正常に投稿画面が使えるようになった。このアップデート後の問題は、忘れたことに発生するので、少しびっくりする。

    エラー内容は下記。

    TypeError: Object(...) is not a function
        at WithSpokenMessages(WithInstanceId(WithFilters(n))) (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/components.min.js:7:280912)
        at we (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:84:293)
        at zj (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:226:496)
        at Th (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:152:223)
        at tj (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:152:152)
        at Te (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:146:151)
        at https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:61:68
        at unstable_runWithPriority (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react.min.js:26:340)
        at Da (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:60:280)
        at Pg (https://www.xenos.jp/xxxxxxx/wp-includes/js/dist/vendor/react-dom.min.js:61:14)
  • WP Mail SMTP でエラーになる

    WordPressからメールを送るために、プラグインのWP Mail SMTPを入れた。送信先をMicrosoft365にしようとしたところ、Proのライセンスが求められるので、その設定を使うのは断念。

    次に、「Other SMTP」を指定して、SMTPを「smtp.office365.com」を指定して、実在するユーザを使ったが下記のエラーが出て失敗した。

    2020-12-03 03:34:42 SERVER -> CLIENT: 535 5.7.3 Authentication unsuccessful [xxxxxxxxxxxxx.namprd18.prod.outlook.com]
    2020-12-03 03:34:42 SMTP ERROR: Password command failed: 535 5.7.3 Authentication unsuccessful [xxxxxxxxxxxxx.namprd18.prod.outlook.com]
    SMTP Error: Could not authenticate.
    2020-12-03 03:34:42 CLIENT -> SERVER: QUIT

    接続は行えているが、ユーザの認証ではじかれているので、Microsoft365側のセキュリティ設定でエラーになっている。接続先のSMTPサーバを、MXレコードで設定しているものに変えてみたが、これもエラーになる。

    わかったことは、フリーのWP Mail SMTPだと、Microsoft365(Office365)を使ってメール送信はできない。

  • Crayon Syntax Highlighterが使えない

    WordPressとPHPをアップデートしていったところ、ずっと使っていた「Crayon Syntax Highlighter」が使えなくなってきた。いつからかは覚えていないが、今のPHP7.3では、変換してほしくない「<」やスペースを勝手に変換するようになった。

    最初は、修正していたけれど、だんだんとストレスがたまってきた。なので、プラグインを消した。長いことお世話になったけれど、ストレスがたまるのだから、諦める。別のものを探さなければ。

  • 今、一番使われているCMSトップ20位

    メモ。今、日本で一番使われているCMSのトップ20位の記事。

    https://mtame.jp/martec/CMS_introduction/

    今のCMSは、圧倒的にWordpressが多い。20数倍の差をつけられて、2位がMovable Type。あとは、聞いたことのあるものもあれば、聞いたことすらないものがたくさん。機能特化型のCMSもあるようで、面白い。

  • WordPressのcocoonテーマでエラーが出る

    WordPressのcocoonテーマで、下記のエラーが表示される。

    /wp-content/themes/cocoon-master/lib/open-graph.php(356)
    

    調べると、curlを使った処理でエラーになっていた。PHPのモジュールでcurlが入っているかみたところ、インストールされていなかった。FreeBSDのパッケージからcurlのモジュールをインストールして、apacheを再起動した。これで、解決した。

     pkg install php73-curl
    
  • WordPressのアップデート時に「Maximum execution time」が発生する

    WordPressのアップデート時に、下記のエラーが発生する。

    Fatal error: Maximum execution time of 30 seconds exceeded in /usr/xxxxxx/xxxxxx/blog2/wp-content/plugins/ssh-sftp-updater-support/phpseclib/Crypt/Base.php(2554) : eval()'d code on line 563
    

    いろいろと調べたところ、実行時間の問題のようなので、PHPの最大時間を変更する。php.iniを編集し、「max_execution_time」の値を30から60に変更して、apacheを再起動。

    ;変更前
    ;max_execution_time = 30
    ;変更後
    max_execution_time = 60
    

    実行時間を最大30秒から60秒に増やしたが、それでもギリギリだった。PHP7にしたため、いろいろと重くなっているのかもしれない。

  • WordPressでアップデートするとhash_algos() がエラーになる

    PHPをPHP7.3に上げたところ、Wordpressのアップデートで、下記のエラーが表示された。

    Fatal error: Uncaught Error: Call to undefined function hash_algos() in /usr/xxxxxx/xxxxxx/wp-admin/includes/file.php:1166 Stack trace: #0 
    

    該当ファイルのエラーになったソースコードをみると下記のようになっていた。

            if ( ! function_exists( 'sodium_crypto_sign_verify_detached' ) || ! in_\
    array( 'sha384', array_map( 'strtolower', hash_algos() ) ) ) {
    

    「hash_alogs()」でエラーになっているようだ。調べてみたら、php73-hash-7.3.X がインストールされていなかった。FreeBSDでパッケージから、php73-hashをインストールして、apacheを再起動した。

    # pkg install php73-hash
    Updating FreeBSD repository catalogue...
    FreeBSD repository is up to date.
    All repositories are up to date.
    The following 1 package(s) will be affected (of 0 checked):
    
    New packages to be INSTALLED:
    	php73-hash: 7.3.8
    
    Number of packages to be installed: 1
    
    152 KiB to be downloaded.
    
    Proceed with this action? [y/N]: y
    [1/1] Fetching php73-hash-7.3.8.txz: 100%  152 KiB 155.8kB/s    00:01    
    Checking integrity... done (0 conflicting)
    [1/1] Installing php73-hash-7.3.8...
    [1/1] Extracting php73-hash-7.3.8: 100%
    Message from php73-hash-7.3.8:
    
    This file has been added to automatically load the installed extension:
    /usr/local/etc/php/ext-20-hash.ini
    

    すぐにWordpressのアップデートを試すと、「別の更新が進行中です。」と出てしまうことがある。これは、前のアップデートによるロックが発生しているため。15分経てば、DBのロックが解除されるので、時間が立ってから試す。

  • WordPressで、xml_parser_create()のエラーが発生した

    PHPをPHP5.6からPHP7.3に上げたところ、Wordpressで以下のエラーが発生した。

    Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
    

    PHPのオプションで、xmlに関するモジュールがインストールされていないことが原因だった。FreeBSDでパッケージからインストールしているので、下記のようにpkgコマンドでインストール。その後、Apacheを再起動し、無事にエラーは解消。

    pkg install php73-xml-7.3.8