PHPのhtmlspecialcharsで変数が空になるという

先日、業務支援用のサーバーがみごとに突然壊れてしまい、急遽新たなハードウェアを確保してOSもなにもかも新たに再構築したわけなのですが・・・

ありとあらゆるものが最新になってしまったせいで、一部の業務支援システムが微妙に動かなくて、その対応に四苦八苦してました。

PHPで5年ほど前に書いてそのまま稼働していてくれたものなのですが、新たな環境下ではなぜか一部のメッセージが空になってしまうという症状が。

サーバーログをみてみるとmbstringがどうのこうのと出ているので、ひとまずはこれを信じてmbstring周りで設定を誤ったりしていないかあれこれを試してみるものの・・・どうやら見当違いということがわかるまで2日ほど。

その後、コードを読み返して$_POSTが読めてないのだろうか?とか、php.iniのmbstringセクションでのinputとoutputの文字コード設定の組み合わせで変わるのだろうかと・・・できるだけ動いてたコードを触らずにサーバー側の設定側でなんとかできるもんだという前提であれこれ試してみてましたが、やはり無理っぽいということで諦めて、動いてたコードを見直すことに(さっさとコードを読み直せば気づくのも少しは早かったのに)。

結局のところ、PHPのバージョンが上がったことが最大の原因で、どうやらPHPのコード中に記載していたhtmlspecialchar()に関して、PHP 5.4.0以降では第3引数を省略した時の扱い(以前はISO-8859-1?今はUTF-8)が変わってしまったことにあるらしい。

ここの記述を省略していたことで、違う文字コードがやってきたときに返ってくる値がすっからかんになって空白行になってしまっていたというオチでした。

デジタル社会の中で

実家のパソコン周りをガサゴソしていたら、オーストラリア旅行中に見かけた路上ライブをやっていたおにーさんのCDが出てきました。懐かしいようななんというか・・・聴いていたらもう一回行きたくなりました。

写真16

買ったもの、便箋としおり。もともと便箋だけ買うつもりが可愛さに負け。

便箋は近日中に出す手紙用。

今はメールが主流ですが、やっぱり郵便受けに手紙が入っていると嬉しいものです。手書きの文字って味がある。メールよりずっと嬉しいのです。よく遠方の友人に手紙を書くのに便箋を買っていました。季節ものとかを選ぶのに悩むのが楽しかったり。

便箋は、買って満足、終わり、にならないように、買うときのワクワク感を溢さないように溢さないように自宅に持って帰ってガーッと書きました。こういう類は買って満足、しばらく放置になりやすいので、ワクワク感を自宅に持ち帰るって大切なことだと思うのです。

しおりは早速読みかけの本に挟みました。今まで適当に本についていたやつを使っていたので折れたり落ちたりなんやらね。いい加減しおり買わなきゃなあって思いつつ・・・だったんで。しおりつけたらブックカバーもつけたくなったので、ブックカバーも出さなきゃなあ。

このしおり、マグネットになっていて挟むタイプなので、落ちない。ああ、複数読むから2個くらい買っとけば良かったかなあ。

でも、チェック柄可愛いし、満足です。

やっぱり電子書籍よりも紙の触りが心地好きだし、手紙も好き。デジタル社会でもアナログって結構大事。

デジタルかアナログか

image16

またもや頂きものです。黒いプラグスーツも似合っています。趣味の棚が徐々に狭くなってきました。

先日のブログ通り、わからない箱を作ってみました。と同時にわからない箱をEvernoteでやると便利なんじゃないかなと思って実践。

※わからない箱とは・・・ふと思いついた疑問やわからないことをメモにして入れておく箱。箱の中身が溜まったら調べものをはじめ、わからないことを消化し、自分の興味の傾向を探ることができるメリットがある。(BRUTUSの「真似のできない仕事術」より松浦弥太郎氏がされていることを拝借して実践してみようと計画)

その結果、メリットデメリットについて考察。

★アナログわからない箱のメリット

  • 紙が増えていく達成感を味わえる
  • 表にわからないこと、裏に解説と直感的な使い方ができる
  • 同じ傾向のものをまとめて保管するなどの使い道がある
  • 書くことで記憶しやすい

★アナログわからない箱のデメリット

  • 外出先では難しい
  • 増えていったときの管理方法について要検討

☆デジタルわからない箱のメリット

  • いつでもどこでもできる
  • ネットで調べてそのままコピペできるので楽
  • 見返すのがスムーズ

☆デジタルわからない箱のデメリット

  • コピペするので頭に入りにくい
  • 飽きそう

うーむ・・いまのところはアナログ優勢。継続は力なり、今はいかに、継続させるかに力を注ぎたいところなので考え中。

image17

とりあえず箱すらないので、今のところはわからないクリップですが・・・

もうちょっとアナログ式で頑張ってみます。

 

機材トラブルは前触れもなく

いつものごとく、なんの前触れもなく突然に機材がトラブってしまうわけなのですが、たいていの場合は私が風邪をひいたりしている最中という、なんともタイミングの悪いときに起こってくれます。

今回は主に業務支援用のサービスを走らせているサーバーなんですが、一度オーバーヒートさせてしまってから負荷に弱くなっていて、年内の入れ替えを予定していたものの意外に早く力尽きてしまったという具合です。

なので機種選定もままならないままだったのですが、とにかく場所をとらず・電力を消費せず・現状程度+少しの業務負荷で実用的なもの、という趣旨で相談してみると良さそうなものを提案してもらえました。

IntelのNUC DN2820FYKHです。これに定電圧メモリとハードディスクをセットすればハードウェアは簡単に出来上がりです。

実際、開封から設置作業までは10分程度で済んだのですが、その後がやはり大変でした・・・

基本的には前サーバーと同じようにDebianで再構築するわけなのですが、まずは最新版でインストールしてみないと調整どころか以前の環境をもってくることすらままならないわけです。
が、しかし、インストールを進めようとしてもインストーラ起動直後からUSBキーボードやマウスが無反応状態になってしまう。BIOSの設定内容をいくら見直してみても、昔ながらのレガシーなエミュレーション項目がなく、いったいどうしたものやらとさんざん悩むことに。

思い切ってCentOSあたりを入れたら苦労せずにすむのかな?と一瞬考えがよぎりましたが、念のために一番目立つところにある設定項目「Boot Order」の「UEFI Boot」チェックを外してみると・・・なんともあっさりとインストーラが進んでくれて問題解決とあいなりました(^^)

さて、この後はなんとか日が昇ってくるまでにデータベースの引き継ぎやらメール転送やらと設定を完了しておかねばならないかと考えると、途方もなく遠い道のりに感じてきます(^^;

 

箱に入れば

昨日は腕時計を忘れて最悪でした。どうやら左腕に腕時計と、右腕に業務用輪ゴムをつけておかないと落ち着かずやる気もでないようです。そういうジンクスのようなものは信じるほうです。

本を読むのに一番良い体勢は何だろうと本を読むたびに考えます。

体育座りが好きなので、大体は椅子かベッドの上で体育座りをして読むことが多いのですが、喫茶店で読むときは一応きちんと座るのでちょっと疲れます。

あとは箱があるとつい入ってしまう。箱に入って吸うタバコは格別。寝転がれる大きさの箱があれば中で眠ってしまう。多分私は箱好きです。

本当は読書用のソファが欲しいところですが・・・

家の中に図書室があれば幸せです。壁一面本棚があって、ソファが置いてあって、だらだらと本を読める空間をいつかは作りたいです。

小学生の頃に通っていた私設図書館が理想です。おじいさんが、アップルパイあるからおいでって、応接間まで招いてくれて。私が知っている唯一の私設図書館だったので他はどんなのかは知りませんが、私設図書館って何だか公共の図書館と違ってわくわくするんですよね。