5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

タグ: MySQL

  • 相談だけでは儲けが出ないという話し

    知らない電話番号から着信があった。出てみると、以前からお付き合いのある会社の社長だった。その会社とは担当者は知っているけど、社長は初めて話す。

    話しを聞いてみると、その会社が請け負ったサイトのメンテナンスの話しだった。

    何でも請け負ったサイトがWodpreddで作られていて、大昔のサイトだったからPHPが5.3(!)でMySQLも相当古いバージョンで、サイトを動かしているさくらインターネットから警告が来ているそうな。

    そこでサイトを作成して会社にWordpressのサイト環境にバージョンアップの見積もりを依頼したらべらぼうな値段でふっかけられてそうな。そこで、その値段より安く作業できないかという相談だった。

    具体的な作業の値段を教えてくれないので、安いとか高いとかは言えないので、常識的というか当たり障りのない範囲で答えておく。

    早いところWordpressはバージョンアップしたほうがいいと言っておいた。さくらインターネットならレンタルサーバーでWordpressのインストールが簡単に出てきてしまうので、新しくサーバーを契約してサイトを移行してしまえば、PHPやMySQLも新しいバージョンで利用できることを伝えた。

    ただし、そのサイト固有のWordpressのプラグインとか何か改造しているのであれば、それ相当の手間と費用がかかることも言っておいた。

    どのようなさくらインターネットのサーバーを契約しているか、ましてどのようなサイトであるかも把握していないようなので、これで話しは終了した。

    デザイン志向の会社なのであまり技術的なことはわかっていないようだ。

    以上、15分位ほど話しをして適格な回答をしたけど、全く儲けにはならないのでした。これ以上、この案件は進まないのだろうな。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • WordPressのサイトがアクセスできなくなったので対応した話し

    お客さんからサイトがアクセスできなくなったと連絡がありました。こちらはWordPressで作ったサイトです。この前と同じようなエラーです。

    phpMyAdmin でMySQLデータベースにアクセスしてプラグインを無効にしてみます。無効の方法はエラーのページにあるトラブルシューティングに書いてある通りです。

    プラグインを無効にしてあげると正常にアクセスができるようになりました。今度もBackWPupプラグインが悪さしていると思って、一旦BackWPupプラグインを削除して、その他のプラグインを有効にしてみます。

    するとまだエラーがでてアクセスできません。

    ここは面倒でも一つずつプラグインを有効にしていって、どのプラグインがエラーになっているかを確かめてみます。

    エラーを起こしているのは、WP-SCSSプラグインでした。

    WP-SCSSプラグインを有効にするとエラーになります。そこでWP-SCSSプラグインを削除してしまいます。もし、SCSSからSCCの変換が必要であれば、自分でCSSに変換してCSSファイルに追加しておきます。

    以上で無事にWordPressのサイトにアクセスができるようになりました。同じエラーだからと言っても同じ原因だと決めつけてはいけません。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • BackWPupプラグインが致命的なエラーを起こしてWordPressサイトがアクセスできなくなった話し

    このサイトはWordpressで構築されていますが、今朝アクセスできなくなっていました。エラーはこんな感じです。適当にディレクトリ名は隠しています。

    Fatal error: require(): Failed opening required '/home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/composer/../amphp/amp/lib/functions.php' (include_path='/home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/pear/pear_exception:/home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/pear/console_getopt:/home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/pear/pear-core-minimal/src:/home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/pear/archive_tar:.:/usr/local/php/7.4/lib/php') in /home/(ユーザー)/www/(サイト)/wp-content/plugins/backwpup/vendor/composer/autoload_real.php on line 59
    
    このサイトで重大なエラーが発生しました。
    
    WordPress のトラブルシューティングについてはこちらをご覧ください。

    エラー表示を見るとBackWPupプラグインが悪さしていることが想像つきます。

    素直にWordPress のトラブルシューティングのページを見ています。解決方法がズバリ書かれています。まずはプラグインの無効化です。

    phpMyAdmin でMySQLデータベースにアクセスして(MySQLデータベースのサーバー、ID・パスワードを探すのに手間取った)、トラブルシューティングに書かれている通り

    1. wp_options テーブルの option_name カラム (フィールド) で active_plugins という行を見つける
    2. option_value フィールドの値を a:0:{} に変更する

    を実行して、サイトにインストールされているすべてのプラグインを無効化します。

    今度は正常にアクセスできました。プラグインが原因のようです。念のために一つずつプラグインを有効化して、どのプラグインがエラーを発生させているかを確認していきます。

    やはりBackWPupを有効にするとエラーになります。再度プラグインを無効化してBackWPup以外を有効にします。

    BackWPupを一旦削除して再インストールしてみます。今度はエラーが出ません。

    気になるのは、エラーになったBackWPupのバージョンが4.0と表示されていました。しかし、BackWPupの最新版は3.10なのです。プラグインの自動アップデートが、おかしなバージョンを配信してしまったのでしょうか?

    再インストールしてみると今度はバージョンが3.10になっています。今までのバックアップ設定も残っていたのは助かりました。設定が初期化されていたら、最初から設定しないといけないので面倒なくてよかったです。

    以上でWordpressのサイトで致命的なエラーになる件は解決です。今回の教訓はこちらです。

    WordPressで致命的なエラーがでたら、プラグインを無効にしてみよう。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

    追記(2022年11月20日)

    BackWPupプラグインは正常にバックアップを実行していました。

    続きの話しはこちらから

    同じようなエラーでしたが、WP-SCSSプラグインが原因でした。

  • 会社のホームページのサーバーをWordPressからbaserCMSにした話し

    会社のホームページを常時SSL化に伴い、サーバーの移行のついでにWordPressからbaserCMSに乗り換えてしまう。ページ数も少ないし手でコピペしてしまう。それにしてもアクセスの少ないサイトである。

    周りにはSSLでアクセスさせたほうがいいよと言いながら、自分のところではやっていなかったという、ようやくやってみる。ほぼ会社のホームページは更新してないけど、ホームページがあったでセールス電話がかかってくるくらいなもの。でも、ホームページがなくなると、周りから会社が潰れたと思われるので、簡単なものでもいいから作っておく。

    さくらインターネットのVPSにApacheを立てて名前ベースのバーチャルホストで動かしていたが、これを同じくさくらインターネットのレンタルサーバーに移してしまう。ドメインを設定して、/etc/hostsにIPアドレスを追加して、ドメイン名でさくらインターネットのレンタルサーバーにアクセスできるようにしておく。あとは、MySQLの設定やbaserCMSのインストールをごにょごにょやって、ページのコピペ、適当にテーマを変更、DNSを変更、SSLの設定して完了。

    と思いきや、以下のさくらインターネットのサポートサイトに書いてあるように.htaccessを追加すると、HTTPにアクセスしたときリダイレクトループが発生する。SさくらインターネットのレンタルサーバーではSNI SSLとか普通のSSLではないようなので、普通にrewriteルールを書いたらダメだそうな。

    ブラウザのキャッシュをクリアしたり、別のテーマにしたり、テーマの初期化データを再投入とか、.htaccessを元に戻したりしても、今度は元に戻らなくなった。なにかやってしもうた、感が大きい。

    しかしながら、テーマの初期化データを再投入をやると、今まで作っていたページが来てしまったのは辛かった。これをやらないとテーマを変えたらブログ一覧が取得できないとか、原因不明な動きをする。こちらは今回ページ作成で追加されたデータがあるテーブルを、SQLで強引に入れ替えてしまうというこ手段で回避した。テーマの管理に初期データを出力する機能で一旦データを作成して、こちらを初期データとして再投入したけど、元に戻らなくなったのでやめた。

    リダイレクトルールの原因は、私のbaserCMSのシステム設定の勘違いだった。WebサイトURLがSSLとなっていないものとSSLと明示されているURLの2つ設定しないといけないが、SSLなっていない方にHTTPを設定してしまっていた。こちらもHTTPSのURLを設定しないといけなかった。なんで2つURLを設定しないといけないかはソースを見てみないとわからない。

    その下にSSLのチェックがあるけど、こちらは管理者画面でSSLでアクセスするかの設定だった。このチェックでSSLのURLを自動的にアクセスしてくれるのかと思い込んでいたの大きな間違いだった。

    「管理者画面SSL設定」で「SSL通信を利用する」にチェックを入れると、HTTPSで管理者画面にログインできなくなったので外しておいた。これは原因不明。

    以上、なんだかんだで当初の目標通り無事にSSL化ができた。しかし、HTTPからのリダイレクトに若干問題あるけど時間があったら対応する。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

    追記(2018年9月5日)

    初期データを投入したからいろいろなところで元に戻ってしまっている。見つけたら直している最中。タイトルが初期データだったのはまずかったな。

  • baserCMS で管理者ページにログインできないときの対応メモを書いてみた話し

    今のお客さんのIRサイトをリニューアルをしたいという案件で、以前テストで作成したbaserCMSのテストサイトを復活させます。テストサイトはvagrant+VirtualBoxでローカルのPCに作成しています。

    久しぶりにvagrant upでサーバーを起動してきます。Vagrantで起動したらberkshelfでのmysqlのChefのクックブックの仕様が変わって動かないというトラブルがありましたが、これは自分でレシピを作って対応します。後はMySQLのバックアップを投入すれば、今まで作成したサイトにはアクセスできます。しかし、baserCMSの管理者ページにはログインできません。

    ここでNetBeansのデバッガを使ってログインの処理を追っていきます。ログインが成功した後のリダイレクトの処理以降がうまくいっていないようです。管理者ページのトップにリダイレクトしようとして、どういう訳か遷移しません。

    調べてみるとCakePHPのエラーログを見ろとあります。ログには

    2015-08-18 11:16:43 Warning: Warning (2): Unknown: Failed to write session data
    (files). Please verify that the current setting of session.save_path is correct
    (/vagrant/app/tmp/sessions) in [Unknown, line 0]

    なんて書かれています。セッションデータをうまく書き込まれていないようです。

    Googleさんにセッションデータがなぜ書き込めないかを聞いてみると、Vagrantの同期フォルダの権限の設定が間違っているとのこと。こちらのページのsynced_folderの設定を行うとうまく行きました。オーナーとグループをapacheにすればよさそうです。

    baserCMSのGitHubにVagarantFileのサンプルがありますが、こちらのsynced_folderの設定のままだと、私のところではうまくセッションの書き込みができませんでした。今までうまくいっていましたがどうしてなのだろうか?

    以上、2日位悩んだ結果のメモです。まずはCakePHPで何かあったらログを読めということでしょうか。いつも基本を忘れます。

    著:久保田涼子, 著:西原礼奈, 著:阿諏訪聡美
    ¥2,399 (2025/07/02 15:37時点 | Amazon調べ)

    なんやかんやでWordPressのサイト構築で躓くのは、PHPのプログラミングなのでした。

  • MySQL Workbenchのマイグレーションで文字化けした話し

    SQLServerのデータベースをMySQLに変換しようと、MySQL Workbenchのマイグレーションの機能を使ってみた。スルスルとテーブル構造やデータを変換できた。これはすごい。

    と思っていたら、日本語で格納した項目はすべて???で文字化け。ダメじゃん、と思って、いろいろ調べてみた。MySQL Workbenchに文字コードを設定できる設定はないし、さてどうしたものか。

    どうせ最後にはMongoDBのコレクションに変換する予定なので、CakePHPのシェルで変換プログラムを書いている。そのプログラムからSQLServerを直接見に行けばいいじゃない、と思ってFreeTDSだのODBCだのCentOSにインストールしてやってみると接続はできた。しかし、Linux, Mac OS X, FreeBSDからはSQLServerは接続できないとCakePHPのドキュメントには書いてある。

    実際に/Config/databese.phpにSQLServerをデータソースとして設定しても接続できなかった。CakePHPのソースを負っていくとPDOのライブラリが見つからない云々というエラーとなる。

    それでも、しつこく調べてみると、無理矢理CakePHPのSQLServerのデータソースを書き換えてSQLServerに接続する方法があって試してみたけど接続できるが文字化けという同じ結果だった。しかし、pearのDB.phpだと文字化けせずにうまく接続できる。でも、今さらDB.phpなんて使うなんてね・・・。

    と、諦めているときに、とても当たり前のことに気が付いた。とても恥ずかしいこと・・・。

    何とMySQLで文字コードの設定を何もしていなかった。ここのサイトに書いているように/etc/my.iniに

    [mysqld]
    
    character-set-server=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqldump]
    default-character-set=utf8

    を設定しみる。今度は、MySQL Workbenchのマイグレーションで文字化けせずに、うまくSQLServerからMySQLに変換できた。

    やれやれ、大変な回り道をしてしまった。もっと早く気付けよ > 自分。

    著:山田祥寛
    ¥1,870 (2025/06/26 14:04時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/06/26 14:04時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/06/26 14:04時点 | Amazon調べ)
  • MySQL WorkbenchのER図は文字化けするのね、という話し

    今まではEclipseで動くERMasterを使っていたけど、EclipseからNetBeansに開発環境を変えたので、何かよいER図を書けるツールを探していた。見つけたのは、MySQL Workbenchの中にあるER Diagramの機能。PhpStormにもER図を書く機能があるらしいが、こちらはNetBeansがダメだったら試してみる。

    元々は、SQL Serverのデータベースを使ったサイトを、オープンソースに持っていきたいので、そのデータベースのER図が欲しいということからだった。MySQL WorkbenchだとSQL ServerからMySQLへのマイグレーションもできるので便利。ささっとSQL ServerからMySQLにデータベースを変換する。あとはER図を掻き出してみる。

    ここまでは簡単にできた。SQL Serverの項目の名前の付け方がよろしくないので、関連付けをするとおかしな名前になってしまうのはしかたない。

    問題としては、日本語になっている項目名が文字化けする位でしょうか。環境設定のフォントの指定をメイリオにしても直らなかった。日本語にしているところが問題なのですが。

    ERMasterのNetBeans版が出ないかな。ERMasterは使いやすい。

    著:山田祥寛
    ¥1,870 (2025/06/26 14:04時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/06/26 14:04時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/06/26 14:04時点 | Amazon調べ)
  • phpMyAdminでログインできない問題の話し

    テストサーバーを作りたくて、いろいろとインストールします。しかし、phpMyAdminがログインできない問題に遭遇。「phpMyAdmin ログインできない」でGoogleさんに聞いた結果のサイトに書いてある通り phpMyAdmin の config.inc.php の設定ファイルを変えてもダメ、MySQLの認証を設定設定してもダメ。

    しかたないので、一旦phpMyAdminを削除して、再度インストール。これもダメ。phpMyAdminの最新版をソースからダウンロードしてインストール。こちらはMySQLが古いと怒られてダメ。もうダメダメです。

    ふと、Apahceのエラーログを見てみると、

    [Tue Sep 23 16:46:03 2014] [error] [client 192.168..xxx.xxx] PHP Warning:  Unknown: POST Content-Length of 104 bytes exceeds the limit of -1048576 bytes in Unknown on line 0, referer: http://192.168..xxx.xxx/phpmyadmin/index.php
    

    というのが出ていた。Unknown: POST Content-Length of というのをまたまた Googleさんに聞いてみると、php.ini の post_max_size の値が小さいとのこと。今、設定している post_max_size の値を確認してみる。すると、

    ; Maximum size of POST data that PHP will accept.
    ; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
    post_max_size = 3232323232323232323232323232323232323232323232323232323232323232M

    となっていた。こらー誰が設定した???

    post_max_size = 32M

    に設定すると、無事にphpMyAdminにログインできた。phpMyAdminの問題というよりも、PHPの問題。やはり、ログを見ることは大事。

    著:山田祥寛
    ¥1,870 (2025/06/26 14:04時点 | Amazon調べ)
    著:松浦 健一郎, 著:司 ゆき
    ¥2,574 (2025/06/26 14:04時点 | Amazon調べ)
    著:谷藤賢一, 著:徳丸浩
    ¥2,750 (2025/06/26 14:04時点 | Amazon調べ)
  • #WordPress サイトの負荷分散の実験をした話し

    KVMで2つ仮想サーバーを立ち上げて、Wordpressのサイトをリプリケーションして、サーバーの冗長化と負荷分散の実験してみました。

    最初に1つのサーバーにWordpressをインストールして、それからKVMのクローンでサーバーをもう一つ作ってしまいます。IPアドレスを別にして2つWordpressのサイトが動く状態にします。

    次に、MySQLのリプリケーションの設定をします。設定方法は、

    Pz-LinkCard
    – URLの記述に誤りがあります。
    – URL=

    辺りを参考にしました。Wordpressの負荷分散は、HyperDBというプラグインを使用します。これもまた、

    Pz-LinkCard
    – URLの記述に誤りがあります。
    – URL=

    辺りを参考に設定します。

    これで、片方のサーバーのMySQLを停止してもWordpressのサイトを参照できるかを確認します。

    よく考えれば当たり前なのですが、MySQLをマスターにリプリケーションに設定したほうのMySQLを停止したら、参照ができるが更新ができないようになっていました。これで成功なのです。マスターのMySQLに障害が発生したら、スレーブのMySQLからDBを復旧する手順になるのでしょう。

    更新は、強制的にマスターサーバーになります。これはHypeDBの機能なのでしょう。スレーブサーバーで更新してしまったら、MySQLのリプリケーションのトラブルになってしまいます。

    記事を追加したら、すぐにスレーブサーバーでも参照できるようになります。こちらはMySQLのリプリケーションが正常に動作してしているからです。

    マスターとスレーブの切り替えは、DNSのラウンドロビンの機能で実現できそうです。必ず管理ページからはマスターのMySQLのデータベースに格納されるかが確認する必要がありますが、こちらはローカルにDNSを置いていないので未確認です。

    以上でWordpressの二重化の実験は完了と言いたいところですが、一つ忘れていました。Wordpressのメディア機能でアップロードしたファイルは、マスターに存在することになります。スレーブのサーバーにアクセスした場合は、存在しないことになります。そこで、/var/www/wp-content/uploads/以下のファイルをマスターからスレーブサーバーに同期を取ってあげないといけません。

    cronでrsyncを実行していいのですが、ここではlsyncdでサーバー間をリアルタイム(数秒の遅延はありますが)で同期を取ってしまいます。

    Pz-LinkCard
    – URLの記述に誤りがあります。
    – URL=

    を参考に設定しました。これでマスターとスレーブのWordpressのサイトで、アップロードされた画像が正しく参照できるを確認します。

  • さくらインターネットのVPSに移行したときのトラブル?の話し

    先週からサーバーをさくらインターネットのVPSにまとめています。使えるねっとで運用しているブログと、昔からJoe’sウェブホスティングで運用している会社とツレのサイトをさくらインターネットにまとめてみました。現在、4つのサイトをバーチャルホストで運用しています。

    運用方法はいずれ書くとして、今日遭遇したトラブルについて覚え書き。

    まず、サイトにアクセスできなくなりました。VPSのコントロ-ルパネルを見るとCPUのリソースが異常に高い。何かやっている。やってはいけないことですが、ここでとりあえずリブートしてしまいました。

    今度は、外からアクセスできなくなりました。コンソールのみしかアクセスできません。pingが外からもデフォルトゲートウエイのルーター(?)にも、Destination Host Unreachable になります。経路の設定がされていない? さくらのサポートに連絡しようと思いましたが、しばらくするともう一度再起動で復帰しました。こちら原因不明です。

    次はMySQLサーバーが起動できていません。MySQLのログを見ると/etc/my.cnfでdefault-character-setがおかしな設定になっているとエラーになっていました。MySQLのバージョンを確認すると5.5です。5.5ではcharacter-set-serverにしないといけないようです。/etc/my.cnfで

    [mysqld]
    default-character-set=utf8

    [mysqld]
    character-set-server=utf8

    に書き換えたら起動するようになりました。

    しかし、WordPressのサイトにアクセスすると、データベースを参照しに行っていない。MySQLのデータベースを見ると、頭に#mysql50#がついたデータベースになっていました。MySQLを5.0から5.5に勝手にアップデートした? こちらも原因不明です。

    新しく元のWordPressのデータベースを作成し、エクスポート&インポートで対応しました。これで正常に元に戻りました。

    最初のリソースが高くなった件からはじまって、さくらインターネットのVPSはわからないことがあるようです。

    Google+: View post on Google+

    著:大竹 龍史, 著:山本 道子
    ¥1,639 (2025/06/30 19:58時点 | Amazon調べ)
    著:Piro, 編集:日経Linux
    ¥2,178 (2025/06/30 19:58時点 | Amazon調べ)
    著:三宅 英明, 著:大角 祐介
    ¥2,970 (2025/07/04 15:51時点 | Amazon調べ)