未分類

Posts filed under 未分類

春はあけぼの

Filed in 未分類

春は若者 夏は年寄 秋は幼子 冬は現役

出典:総務省統計局

PHPををバージョンアップしたらWordPressがエラーで動かなくなったんだが

Filed in 未分類

このブログはWordPressで動いている。で、WordPressのバージョンアップを久しぶりに行ったところ、ヘルスチェックなるものにPHPが古いから新しくしろというメッセージが出ていた。

ああそうですか、と思い調べたらバージョン5.6を使っておりサポートも終了していた。そりゃダメねと軽い気持ちでバージョンアップをしてからWordPressにアクセスすると「致命的なエラー」などといままで見たことのないメッセージだけが画面に表示されてコンテンツが全く見られない。

再起動しても回復はしない。いつもならスナップショットを取ってから作業するのだが、今回に限ってサボってしまったせいで結構焦ってしまった。

いや、こんな時こそ落ち着かねばと小一時間ほど放置してからログを調べた。

問題点1.

/var/log/httpd/error.logには「PHP Fatal error:Array and string offset access syntax with curly braces is no longer supported」と記録されていた。

Syntax エラーだと。。そんな馬鹿な。。内容は書いてある通りだが、調べてみるとPHPの配列アクセスに{}が使えなくなったとのこと。使っているWordPressのプラグインに{}を使った配列アクセスがあったようだった。幸いエラーが発生した1か所だけ修正するとこのエラーは消えた。

問題点2.

これだけで問題は終わらなかった。

次なるエラーは「PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function~」

調べてみるとWordPressのバージョンアップで置き換わった関数の引数が変わったようで、使っているテーマから渡されている引数の数が少なくてエラーになっているということであった。こんなの直すのしんどいよ。。ということで同じテーマの最新版がGitHubで配布されていたので入手してディレクトリごと置き換えた。これでこの問題は解決して投稿記事を見られる状態にはなった。

問題点3.

だが、それでも問題は終わらなかった。管理用サイトにアクセスするとやはり致命的なエラーが起きた。これは管理用サイトで使っていたプラグインがエラーを起こしていた。Search Regexというプラグインだ。どうやらPHPで静的に宣言されていない関数を静的関数のように呼ぶとエラーになるように厳格にチェックされるようになったようだ。こちらは問題2と違って最新版でも修正されていないという情報を見たのでプラグインそのものを削除して対応した。

こうして何だかんだで復活したのでついでに書き込みしてみた次第であったが、普段PHPを使っていないのでこんなに変更があったのを知らなかった。PHPのシステムを保守している人たちには衝撃だったんだろうなあ。

と書き終えたところで、左上のCount Per Dayの見出しと数字が逆になっていることに気づいた。そのうち直したい。

P.S.

直しましたよっと。でもなんかスタイルシートが読めてない。これまたそのうち直したい。

# pwd
/var/www/html/blog/wp-content/plugins/count-per-day

# diff counter.php.bk counter.php
1446a1447
>                                               echo __($instance[$k.'_name']).':';
1454c1455
<                                               echo '</span>'.__($instance[$k.'_name']).':</li>';
---
>                                               echo '</span></li>';

修正前

                                        if ( ($k == 'show' && is_singular()) || $k != 'show' )
                                        {
                                                $f = str_replace( $this->funcs, $this->cpd_funcs, $k );
                                                echo '<li class="cpd-l">';
                                                echo '<span id="cpd_number_'.$k.'" class="cpd-r">';
                                                // parameters only for special functions
                                                if ( $f == 'getUserPerDay' )
                                                        echo $count_per_day->getUserPerDay($count_per_day->options['dashboard_last_days']);
                                                else if ( $f == 'show' )
                                                        echo $count_per_day->show('', '', false, false);
                                                else
                                                        echo call_user_func( array(&$count_per_day, $f) );
                                                echo '</span>'.__($instance[$k.'_name']).':</li>';
                                        }

修正後

                                        if ( ($k == 'show' && is_singular()) || $k != 'show' )
                                        {
                                                $f = str_replace( $this->funcs, $this->cpd_funcs, $k );
                                                echo '<li class="cpd-l">';
                                                echo '<span id="cpd_number_'.$k.'" class="cpd-r">';
                                                echo __($instance[$k.'_name']).':';
                                                // parameters only for special functions
                                                if ( $f == 'getUserPerDay' )
                                                        echo $count_per_day->getUserPerDay($count_per_day->options['dashboard_last_days']);
                                                else if ( $f == 'show' )
                                                        echo $count_per_day->show('', '', false, false);
                                                else
                                                        echo call_user_func( array(&$count_per_day, $f) );
                                                echo '</span></li>';
                                        }

Gitlabを7から8にしてサブディレクトリで動かす

Filed in コンピュータ, 未分類

いつの間にかGitlabの8が出ていた。
いくつか機能も増えていて良さそうなのでGitlab7からバージョンアップすることにした。
バージョンは8.8.5。

バージョンアップ自体は公式の通りにやれば問題なくできる。

まずyum用のリポジトリができてるそうなのでリポジトリを追加する。

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash

そしてインストール

yum install gitlab-ce

これでおしまい。どんどん便利になるな。

サブディレクトリで動かすのもかなり楽にできるようになっている。

設定を変更する。

/etc/gitlab/gitlab.rb
external_url http://server:port
を
external_url http://server:port/gitlab
にする。

これで設定ファイルの編集はおしまい。これまた非常に楽。

あとは以下で再構成する。

gitlab-ctl reconfigure

chefが頑張ってくれていろいろなファイルを更新してくれる。

確認出来た範囲で以下が更新されていた。

/var/opt/gitlab/gitlab-rails/etc/gitlab.yml
/var/opt/gitlab/gitlab-rails/etc/unicorn.rb
/var/opt/gitlab/gitlab-shell/config.yml
/var/opt/gitlab/nginx/conf/girlab-http.conf
/var/opt/gitlab/gitlab-rails/etc/relative_url.rb

特に最後のファイルは新たに作られていた。
以前はapplication.rbに書かれていた内容がここに書かれていた。

あとは再起動すればよい。

gitlab-ctl restart

もう待ってる時間を除けば1分でできるね。

郵便局の再配達に物申す

Filed in 未分類

郵便局の不在連絡票が入っていた。
いつもは電話で再配達の申し込みをするのだが気まぐれにウェブページでしてみようとしたところ
あまりにも不親切で面倒になり断念した。
理由を以下に述べたいと思う。

1.連絡票に記載されている名称と入力欄の名称が異なって対応が分かりづらい。
2.郵便物の種類の選択欄で「ゆうパケット」は「ゆうパック」なのか「その他」なのかよく分からん。
3.郵便物の種類の選択欄で追跡番号を入力したときの欄と問い合わせ番号を入力したときのどちらかを選べば良いと思うが
両方選べてしまう上に一度選ぶと解除できない。

もうこの時点で分かりにくさ爆発。早々にネットで申し込むのはあきらめた。
用語をを統一するなんて基本だろう。。

その後QRコードでアクセスして申し込みをした。
同じ郵便局のシステムとは思えないくらいほとんど入力不要で良くできていた。
QRコードの読みとりがすぐできる機器があるのなら電話よりも簡単なくらいである。
それだけにあのウェブページの出来の悪さが際立って仕方がない。

どこに発注したのだろう。。利権が絡んでるところに発注したのかなあ。

コンビニにて

Filed in 未分類

店員:「655円になります。」
俺 :1055円をトレー(?)に置く
店員:「・・・」
俺 :「・・・」
店員:「・・・」
俺 :「・・・」
店員:「・・・」

何待ちなの?
@100円出すの待ってるの?

Test

Filed in 未分類

スマホから投稿だとどうなるかのてst

戸塚駅前再開発はバリアフリー無視。

Filed in 未分類

戸塚駅前は都市再開発などとしていろんなものが作り直されています。
そんな中ですでに完成を見ているのが戸塚駅2階と東急プラザとをつなぐ連絡通路です。
ざっと書いた絵が下のものです。(8/22追記:地味に間違ってたけど言いたい事には影響ないのでなおさずで。)
totsuka
Read the rest of this entry »

コンビニのレジで一瞬迷うこと

Filed in 未分類

ずっと放置してしまいました。2か月ぶりの更新になります。まあちょっと忙しくて、休みの日も更新する気力がありませんでした。
ぼちぼち更新していこうかと思います。
政治とかいろいろありますが、久しぶりなので軽めの話題を。コンビニのレジにて迷うことがあるのでそれについて。

Read the rest of this entry »