PHP の恥ずかしい話と TV で見た分福

ついに WordPress から PHP のバージョンが古いと警告されるようになった。amatsukami.jp サーバは PHP 5.3 で動いている。こいつはセキュリティ ホールとかもあって本当は使っちゃいけないバージョンだ。
しかも 2 年前に PHP5 系でしか動かないものは、別のサーバに追い出している。
なのでさっさと PHP のバージョンをアップしないといけないのだ。また、上の別サーバに追い出したときにも書いているが、アップデートしないと WordPress そのものが動かなくなるというのも予想していた(そして今年の 4 月に動かなくなるらしい)。

じゃぁアップデートすりゃいいじゃん。

いや、まったくその通りなんだけど、実は過去に何度か PHP のアップデートを試みて失敗しているのだ。入れるのは 7 系と言われているバージョン。ところが amatsukami.jp サーバに 7 系を入れてもなぜか従来ある 5 系が呼び出されてしまうという現象がおきるのだ。
7 が入っているディレクトリ(フォルダ)から直接 php.exe を叩いても、5 系が呼び出される。しかもその場合、exe は 7 なんだけどその他の全てが 5 なため、PHP が起動すらしないという状況になるのだ。
これがもーわからなくてわからなくて、何度やってもこうなる……orz

という経緯があった。しかしさすがに WordPress から「もう動かなくなるよ」って言われてしまったらなんとかしてアップデートするしかない。そこで今日も設定してみたんだけどやっぱり動かない。まぁそうだよなー、もう何度も試してるしなぁ……もう Windows Server 自体がおかしくなってるのかなぁ……とか思い始める。

PHP は php.exe というプログラム本体以外に、さまざまな機能を実現するためのプログラム群(Extension)がある。そいつらを読み込むためには MS-DOS 時代からある PATH という環境変数にそのプログラム群が入っているディレクトリを定義したりするのだが、それは php.ini という定義ファイルに書いておくことも出来るので amatsukami.jp サーバの PATH にはその設定はない。
なければ定義ファイルを見に行くはずだよなーなんて思いながら、環境変数をぼけーっと眺めていたら、「PHPRC」っていう環境変数を見つける。そしてそこには PHP5 系のディレクトリが設定されている。

これかぁぁぁぁぁぁぁぁぁぁ!!!

この環境変数はまさにその php.ini がある場所を設定する環境変数なのだが、これがあるために PHP7 系を起動しても 5 系のプログラム群を読みに行っていたのであるorz
すっかり見落としていたというか、忘れてた!!!
あほやなぁ……。

というわけでこの環境変数を消し、PHP のバージョンごとに PHPRC を設定して無事 PHP7 系が動くようになった。この数年の失敗はなんだったんだ……。

ところが問題はそれだけでは終わらなかった。WordPress が動かないのだ。
もちろん動くサイトもある。ということは PHP 自体のアップデートには成功しているのだろうととりあえず判断し、WordPress 本体をあれやこれやといじる。WordPress そのものはけっこう規模の大きなソフトウェアな上に、ボクがかってにいじくってる部分もあるので何かが引っかかってるんだろうと調べるも、そもそも自分が WordPress のどこをいじったのかも憶えてないwww

とりあえず一つの WordPress でいくつものサイトを運営できる「マルチサイト機能」が問題なのかなと思ったのだが、マルチサイトが ON になっているサイトも動くことが判明

結果的に古いプラグインが原因だと解った。そのプラグインを外すことによって、ほぼ全ての WordPress が動くようになった。ところが GLacé というエロゲ ブランドのサイトがあるのだが、ここだけは動かなかった(汗)。なんだろうなー。
でも、このサイトを管理する義務もないし、しらなーいってなった(ぁ
でもなー、古い PHP で動かし続けるのは問題があるわけで、さてどうしたもんか……。

さて、今日行ったランチはね、楽しかったというか何というか。
お店の名前は『分福』。なんか入り口がけっこう凝ってる(7 番目の写真)のでちょっと入るのに躊躇してたんだけど、入ってビックリ。あ!って思った。中はお風呂屋さんなのだ! そしてテレビで見たことある!! ワールドビジネスサテライトだったかガイアの夜明けだったかまぁなんかその手の番組で居抜き物件とかリノベーション物件でがんばってるお店を特集してたときに出てきたあの店だ!
そうかー、まさか田町にあったとは。

写真は鳥煮定食と、ミルフィーユ豚カツ定食とハムカツ定食。
お値段は 800 円 ~ 1000 円。ご飯お代わり自由だったかな?
鳥はかなりゴロゴロ入ってるし、ミルフィーユ カツはやわらかくて衣サクサクだし、ハムカツは分厚くて中にチーズが挟んであって食べ応え充分。いやー、イイ店でした。ここは常連になりたいと思った店でした。

まぁでもハムカツとかミルフィーユカツとか鳥肉とか、なんていうんだろうね安いもので美味しくしようっていう感じなのかな……と<失礼

天津神本舗を SSL 化する話

今日はわりと遅めに食事に出たため、お店はだいたいどこも昼休み(?)に入ってしまっていた。個人経営の飲食店は、14 時頃から 17 時頃まで閉まってしまうことが多いのだ。その時間帯にやっているのはチェーン店かラーメン屋くらいなものである。

というわけでとんこつラーメン屋さんに入ってみた。
一瑞亭
食べログの店数が妙に高いが、とりたててこれはという感じではない。普通(ぁ
スープは真っ白ではなく、濁り系。博多ラーメンらしいあっさりした感じはでてて食べやすいと思った。
炒飯がしょっぱかったー。

ちなみにこの一瑞亭、前に食べた由丸と同じ並びにある。由丸は白くてミルキー系(北九州系なんだろうか?)で特色は全然違うので、その二つが味わえるのはいいなと思った。

ところで同人の方で使っている amatsukami.infoSSLHTTPS)化をしてみた。
世間はなんでもかんでも SSL 化である。Google Chrome に至っては SSL 化していないサイトにアクセスすると警告を出す始末。えー、たかが個人サイトに SSL 化って必要なの?? っていう思いは未だに変わらないものの、世の中がそういう流れになっていくので仕方なく(ぉ

といっても自分のサーバでやったのではない。
実は自分の所でやらない大きな理由がある。それはウチのウェブサーバである IIS7.5 が SNI にちゃんと対応してないのだ。暗号化されたウェブページを取り扱う HTTPS は、何もかも暗号化するため、amatsukami.info と言うようなドメイン名まで隠蔽してしまう。となると一つのサーバでいくつものドメインを運営しているサイトにはアクセスできなくなってしまうのだ(なんのドメインでアクセスしに来たのか解らなくなるため)。
そこで HTTPS で通信を確立する前に平文でドメイン名だけをやりとりする規格が SNI なのだが、ウチのサーバにはその機能が無い(正確にはないわけではないが、対応が中途半端)。
そのため、amatsukami.jp や amatsukami.info、他にも様々なサイトを動かしているウチのサーバは SSL 化ができないでいた。

まぁそもそもサーバ自体を更新しなくちゃいけないんだけどね。こっちは裏で少しずつ進行中。

とりあえず練習も兼ねてテキトーなホスティング サービスを契約した。月 300 円(ぁ
ファイル容量は 100GB、DB は三つまで。DB の容量は 100 MB まで。
DB の制限がきつすぎるなぁ、と思いつつ……。

まず一回目は失敗。どうしても WordPress が動かなかった。
DB の問題か? それとも WordPress のスクリプトの問題か??

それから一日おいて、もう一度試してみた
すると ASCII モードで転送していたのが問題だったようだ。とりあえず動いてエラーを吐くところまではきた(前回はウンともスンとも言わなかった)。そのエラーを見ると、今度は memcached 関連のところで動かなくなっていたことが解った。それらを取り外すと動き始めた。

次に萌え時計だ。これが動かないんだwww
原因はファイル名に日本語を使っているからというのは何となく推測できたのだが、それの何がいけないのかさっぱりわからない。ファイル名の文字コードソースファイル側の文字コードを合わせたりしたのだが、まったくダメ。

結局これはソースコードの UTF8 から EUC にコンバートすることによって動いた。

もっとも時間がかかったのがファイルのアップロードだ。FTPS でアップロードしたのだが、とにかく途中で止まるのだ。天津神本舗は 1.16GiB ほどのデータが有り、ファイル数は 6174 個。とまりまくってそのたびに再接続してまたアップするファイルを指定して……とかやってたんだけど、6 時間ぐらいかかった。
あほらしい……orz

これ、どうも NextFTP というソフトだとなるらしい。確かに一回目の時は CyberDuck というソフトを使ったのだけど、そちらだと三回ぐらいしか止まらなかった。もー、なんなの?? じゃぁなんで二回目も CyberDuck を使わなかったのかというと、同じファイルがあった場合にちゃんとした比較がなかったのと、バイナリ モードだけでアップする方法がよく解らなかったため。たぶんどっちもないわけじゃないとは思うんだけどね……設定を見つけられなかった。

ちなみに萌え時計はもっとデータがデカくて、7GiB オーバー。こっちもアップするのが大変だった~。

なんだかんだで Windows Server と Linux はけっこう違うなぁと実感した作業であった。

めげずに Gutenberg を使ってみる

WordPress の記事を編集するためのエディタ Gutenberg がクソだという話は過去にも書いた。
ただ問題点はわかっている。大きく二つ。何度も書いたが、一つのブロックに複数の画像を貼る方法と、リスト内での改行だ。
このうち、一つのブロックに複数の画像を貼る方法がわかった。

それはクラシック スタイルだ。

古い編集機能のブロックというのを作れるのだ。古い編集機能では複数の画像が貼れるので、これで Gutenberg でも複数の画像が貼れるようになった。

けど、やはり Guteberg そのものが使いづらいと言うことが解った。
なぜか?

それは、Gutenberg がマルチメディアな記事を書くことを目指して設計されたからだ。つまり画像あり、動画あり、文章あり、一つの記事に様々な形態のデータがあってそれらを包括的に一つの記事にまとめるためのエディタなのだ。
ところがボクの記事はそうではない。そもそも物書きだから文章がメインとなる。
基本的に文章をつらつらと書ければそれでよいのである。だから Gutenberg のように画像を貼るのは楽になったけど、文章を貼るのも画像を貼るのも同じコストがかかるようになってしまいました、ではダメなのだ。

なので WordPress が古い編集機能を使えなくするようになるまではこのままで行こうと思う。

ふくの鳥と AI と WordPress

今日は同僚が鶏の唐揚げが食べたいというので、いろいろと彷徨った結果、『ふくの鳥』というお店に入った。ランチメニューがどれも鶏の唐揚げだったからだ。鶏の唐揚げって言うと、あの丸っこいのを思い浮かべるのだけど、ここのは全て一枚肉だった。
同僚は油淋鶏、ボクはカレーを選んだ。

カレー屋さんじゃないカレーはあれね、業務用ね。
当たり前か(^^;

鶏の唐揚げは美味しかったと思うんだけど、カレーがぬめぬめっとしてた。
イマイチ!

ポイント カードについて、このあいだひどい目に遭ったわけだけど(そこまで言う?w)、ふとこの間 THANK で見たロビを思い出して、そもそも AI が普及したらポイント カードいらないじゃん! ってことに気付いた。
いや、AI とかそういう単語を使わなくても現状でも可能だ。
要するに顔認識システムを店頭に置いておいて、会計の時にその人が常連さんなのかどうかを判別して貰えばいいのだ。その人の来店回数や今まで使ったお金の積算を表示するなんて簡単だ。そしてポイントの付与も楽々だ。
たくさん貯まってたら「○○ポイントたまってますけど、お使いになりますか?」と、店員が聞けばいいのだ。自動割引でもイイし、レジのタッチパネルに表示して使うかどうかを尋ねるのでもいい。

いやー、明るい未来が見えてきそうだ。これで財布が金も持ってないのにパンパンなんてことはなくなりそうだ。頼みますよ!

今、仕事をいくつも抱えているんだけど、どれもが PHP + HTML + Javascript な案件なのね。で管理画面があったりとかいろいろするんだけど、クライアントさんには WordPress でやれるようにすることが多い。要するにデザインとかウェブサイトそのものはクライアントさんが作って、システムというか仕組みの部分はボクが組んで、クライアントが作った WordPress 内に組み込むといった感じだ。

ただ 100% WordPress で済むようにはしていなかった。
ボクが作ったシステムの UI は、ボクが自分で HTML を組み、CSS を組んで提供していた。
でもこれだと見た目が良くない。ボクはデザイナーではないからね。それにシステムごとに CSS を組むのがめんどうくさかった。

そこでボクが作ったシステムを全部 WordPress 側で呼ぶ仕組みを作った。
これでボクが作ったシステムも全部 WordPress を通して表示されるようになった。UI も統一されるし、デザインも統一されるうえにクライアントも操作に戸惑うことも減る(まったくなくなるわけではない)。
今までは WordPress とボクのシステムとで管理画面をアクセスする場所が違っていたりしたので、その辺も統一された。

本当は SS とか貼りたいんだけど、開発中なので貼れない……

ついに根負けして Classic Editor に戻す

今ご覧になっている TAMA Networks や、ボクの同人サイトである天津神本舗などは WordPress というシステムを使って運営されている。まぁこの日記には何度も出ている名前だけれども。それがバージョンアップして、編集画面が新しくなったという話題は出した。
で、それがまだ機能不足でクソだという話も書いた。

それから何度か使ってみてはいるんだけど、やっぱダメだー!

というわけで、古い編集画面に戻してしまった……orz
あー、これ戻したらもう二度と新しいのにしないヤツだ。
って本能的に思ったwww

実はボクは UI に間してはあまり頓着がない。だから Windows のバージョンが新しくなっても、Microsoft Office がリボン UI に変わってもボク自身困ることはないし、普通に使ってきた。けど機能がないのだけはどうしようもない。
別に Gutenberg でも Classic Editor でできたことが出来ればボクは文句は言わなかったと思う。思想が古いとは思ったけど。

とにかく困っているのが、一つのブロックに複数の画像を貼ることだ。
これが出来ないとどうしようもない。ちなみに無理やり HTML で組み込むとエラーが出るw
エラーは出るが編集不可能なブロックとなるだけで、そのままいじらずに放置すれば表示はされる。
そしてリスト内で改行を入れる方法がないことだ。これも結局 HTML を直接ぶちこんでいる。

この二つが Gutenberg にも実装されれば Gutenberg に移行することはそんなにイヤじゃない。たださ、たとえ実装されていたとしてもだ、それにボクが気づけるかということなのだ。一度 Classic Editor にしてしまったらもう Gutenberg を試してみようってことはしないと思うんだよねぇ……。それこそ WordPress が Classic Editor を動かなくするとかしない限りは……。

1/3 から 1/6 まで毎晩スーパー銭湯形式の温泉に行っていた。
その中で、花小金井にあるお風呂の王様に行ったんだけど、弟家族と一緒だったため人数が多かった。そのため会員になったほうが安いと言われたので会員になることにした。
そしたら店員から二枚のカードを渡された。

思わず目が点になる、ボク。

なぜ二枚なのかが理解出来なかったからだ。
そもそもボクは会員になるのを極力避ける。会員カードが増えるからだ。これの管理に財布は大変なことになる。スマートフォンという便利な携帯できるコンピュータが普及しているにもかかわらず、この手のカード類は減る兆しさえない。それに辟易しているのである。

そこへ、二枚も渡されたものだから、目が点になると同時に、呆れた表情もしていたかも知れない。

二枚の内訳は、会員カードとポイント カードだった。ポイント カードの方は判子を店員が押すタイプのヤツ。

「はぁ???」

ただでさえカードが増えるのが困るのに、ポイント カードは別だとぉ!?
そんなもん、会員カードに集約しとけよ。会員カードを提示したら消費した金額に応じたポイントなり、来店回数なりをサーバにもっときゃいいだろうが! なんでいちいち会員証を提示した上にポイント カードまで出さにゃならんのだ!
しかも老婆がやってる個人の駄菓子屋じゃなくて、都内にいくつも店を持つ企業だろ? 10 店舗もなきゃ、サクラの VPS にフロントエンドとバックエンドを二組でももっときゃ充分足りるよ!!

とか、年始からもう呆れかえってしまった。
もー!! ほんとカードが増えるの困ってるんだってば!!

あれだよなー、なんかポイント カードの標準的な規格を業界で作って無料で開放するしかないよね。
どんな小さな店舗でも利用できるようにしてさ。
そしたら一気に財布の中身が軽くなるんだけどなぁ……。
技術的にすでにクリアされていることなのに、解決できないってもどかしいよね。
まぁそんなことは、ポイントカードに限らずいっぱいあるんだろうけどさ。

むさしの森珈琲と Gutenberg はやっぱりクソな話

昨日から弟一家が来ていて、彼らを送った帰りに小腹も空いたのでむさしの森珈琲に寄った。久しぶり。相変わらずオシャレで広い空間ですごいなぁと思う。まぁ、中は高倉町珈琲のパクリなんだけどね(ぁ。でも高倉町珈琲より一人あたりのスペースは広いかも知れない?

オムレツとホットケーキ頼んだ。
飲み物は失敗。ラテは甘すぎたため、ホットケーキの甘さを倍増させてしまった……orz

この店はボクの場合、小腹が空いた時に入る感じ(笑い
女子向けだから量が少ないのだ。
でもセントラルキッチンで作ってるとは思えないほど味はけっこうしっかりしているよ!
もしかしたらガストで同じものを頼んでも、同じくらい美味しいのかなぁ??

WordPress のエディタ、Gutenberg の愚痴の続き。上にあるむさしの森珈琲の写真みたいに、小さな画像をいくつも並べることが Gutenberg ではできなくなってしまった……orz
画像一つで改行されてしまう。画像を横に並べられないのだ……。う~ん、困った。確かに最近のレスポンシブ デザインではスマートフォンを意識したレイアウトがなされており、スマートフォンの小さな画面で見るとき、小さな画像を横に並べると見にくいという問題はないこともない。たぶんそういった配慮から何だろうけど……。

ちなみに「ギャラリー」という機能があって、そっちでは横に並べられるんだけど……。

画像の一部じゃなくて全てが表示されてしまう。これでは面積を取りすぎる……orz
どうすりゃぁいいんだ?? ちなみに今回はどうしたかというと、HTML を直書きして回避した。エディタの意味ねぇ!

edlin の話をしようじゃないか+バッキーズ

TAMA Networks を運営しているシステム WordPress が Version 5 になった。
このバージョンから大幅に日記を投稿する部分が変わる。Gutenberg というシステムだ。
最大の特徴は、編集が段落ごとになることだ(これを Gutenberg ではブロックと言うらしい)。
ワープロを使ったことがある人なら想像しやすいと思うが、ワープロはページ単位で編集を行う。画面上には一枚の紙を模した表示がなされ、一行目から順に文字を入力していくことになる。

Gutenberg は段落が一ページになったと思えば良い。
紙面一面を編集するのではなく、改行までの段落を編集するのだ。

なんでこんな仕様にしたのかよく解らない。確かにウェブにはページの概念が希薄だ。縦にいくらでも長くすることが出来るし、何ページでも作ることが出来る。物理的な書類や本とは異なる。とはいえページという概念は存在するので、今まで通りページ単位の編集でいいと思うのだが……。

そしてボクにはこの段落ごとの編集というのが時代が遡って見えて仕方がないのだ。
どれくらい遡ったかというと、36 年も遡るのだ。

36 年前、テキストを編集するツールに EDLIN というものがあった。こいつは「ラインエディタ」というものだ。翻って今我々が想像するワープロの画面は「スクリーンエディタ」と言う。
ラインエディタは一行ずつしか編集できない。編集したいときはどの行を編集するのかを指定してから編集するのだ(笑)。これは 20 ~ 50 行くらいのテキストならまぁ使えないこともないが、何百行にもわたるテキストを編集するには大変な困難を要する。何行目にナンのテキストがあるか憶えられればいいが、当然そんなことはできないので①テキストをいったん表示→②編集したいカ所を見つける→③編集したい行を指定→④編集→①に戻るというのを繰り返しながらテキストを編集しなければならないのだ。

Gutenberg を使ったとき、まさにこの EDLIN を思い出してしまったのだw
もちろんかつての EDLIN とは違い、全ての情報は最初から表示されているので、編集したい段落を選んで編集するのだが、段落をまたぐような処理は本当にやりにくい。全部好きに操作させてくれよ! って感じ。でも WordPress の開発チームがこの方式を採用したと言うことはきっとなにか大きな意味があるのだろう。今の所さっぱり見いだせてないし、逆にボクの脳の方が前時代的になってしまったのかもしれないが……。
なんでこんな仕様にしたんだろうなー<ちゃんとドキュメント読めよ

さて今日は晩御飯を食べに十条へ行った。
十条にはダイナー料理を出す店があるのだ。いわゆるアメリカ料理。聞いただけでも身体に悪そう!
ダイナーというと、シナモンロールにスクランブルエッグ、ソーセージなどを挟んでさらに揚げた料理とか、同じく卵やベーコン、ソーセージなどをホットケーキでくるんで揚げたものとか(笑)、そういう料理である<偏見
つまりデブ御用達。まさしくボクのためにあるような料理である。

ところが日本のダイナーはどこもハンバーガーばかり。いや違うんだよ、もちろんハンバーガーも、重要かも知れないけど上に書いたような身体にもっともっと悪い食べ物が食べたいんだよ。ハンバーガーなら別に他のところでも食えるだろっていうのがボクの意見なのだ。

で、今日行ったバッキーズもハンバーガーが多めではあるもののダイナー料理がそれなりに取りそろえてあるようなので、会社帰りに遠回りして行くことにしたのだ。道程は芝公園新板橋板橋→十条。お、帰りのラッシュ時間に埼京線を使うじゃないですか、ヤダー。
案の定、十条駅に入ってきた車両は人がみっちり。すげ-久しぶりに乗客が窓にへばりついている光景をみたわー。まじか、コレに乗るのかっていうか乗れるのか? とか思いながらも、先頭車両に走るwww ホームに入ってくるとき、先頭車両が比較的空いていたからだ。
というわけで一駅ではあるが、満員電車を堪能する。埼京線は痴漢被害がひどいらしいが、この状況でよく痴漢できるよなぁと思った。そもそも謀らずとも女性と密着してしまう。

そんな思いをしてやってきましたバッキーズ! この店を知ったきっかけは Instagram である。同じく十条にあるクルド料理を食べに来たときにその内容を Instagram にアップしたところ、このバッキーズの Instagram からフォローされたのである。ダイナー料理を食べたかったボクは、それ以来ずっと行く機会をうかがっていた。

頼んだのはポテトサラダに豆のスープ、フライドチキン、ホットドッグ、ソーセージのタコスと鳥肉のタコス、そしてハンバーガー。ハンバーガーにはチリビーズみたいなのがついていた。先に書いたシナモンロールやホットケーキの凄いヤツはおいてなかった。残念。
しかしここは肉料理がとても豊富だ。今回は頼まなかったが、400g のステーキが 2000 円である。
マジか。
そしてどれも大味と思いきや、タコスやハンバーガーはけっこう食材も色々入っていて美味しかった。
パンも柔らかくてちょっと甘みが合って食べやすいんだ。
豆のスープも、ハンバーガーについていたマメを煮たヤツもうまい。しかし何味か説明できないのが悲しい。スープの方はちょっと辛めなんだけど、ハンバーガーについてたほうは全然辛くないんだよね。むしろコクが強い感じで、ハンバーガーに合う。
フライドチキンもでかい! ドクターペッパーの缶と比較するとその大きさが良く解ると思う。外はカリカリ、中はジューシーな揚げ加減。いやー、非常に堪能しました。しかもこれだけ食って、飲み物も 4 杯飲んで 4000 円行かないってのも凄い。安すぎる。実はタコスやホットドッグはどれも 500 円以下、他のメニューもハンバーガー以外はどれもだいたい 500 円以下なのだ。

そんなわけで充分堪能しました。イイ店見つけた。また来よう。

個人的に意外だったのが、十条という街。大きなアーケードが二本以上あった。埼京線というと東北・上越新幹線が出来たときに同時に作られたイメージがボクの中にはあって、新興の路線だと思っていたんだけど、考えてみると赤羽までは山手線の一部であり、歴史も古い。ちょっと十条という街に興味が出てきた今日この頃である。