php56からphp73にあげたら、pukiwikiのRSSリーダーでエラー

PHP5.6からPHP7.3にアップデートしたところ、pukiwikiでエラーが発生。このエラーの前に、pukiwikiはPHP7対応版の1.5.2にバージョンアップした。アップグレード用のパッチを当てたが、それでも下記のエラーが発生した。

Parse error: syntax error, unexpected 'new' (T_NEW) in /usr/xxxxxx/xxxxxx/wiki/plugin/rssreader.inc.php on line 56

エラーを調べてみると、PHP7では「NEWで生成されたオブジェクトは参照として代入できない」ので、エラーになっていることが判明。とりあえず、動作するようにしたかったので、参照渡しをやめるようにコードを変更した。

変更した記述は、下記。

   //変更前
   //$r =& new XML_RSS($rdf);
   //変更後 =& を = に変更。エラー原因の参照渡しをやめている。
   $r = new XML_RSS($rdf);

参考

https://www.shirokuma-systems.com/seisaku/wordpress/284.html
https://www.slideshare.net/yohgaki/php56php70

VSCodeのCisco用のコマンドモード

Visual Studio CodeにCiscoのシンタックスを解釈できるようにするExtension。下記のエクステンションのページからインストールボタンを押して、インストールする。

vscode-cisco-syntax
https://marketplace.visualstudio.com/items?itemName=jamiewoodio.cisco

インストール後は、言語モードの選択で「cisco」と指定する。そうすると、Ciscoのシンタックスで色付けなどをしてくれる。

コンフィグをみるときのサポートくらいに使える。

ELB+ACMでSSL通信を行うときのメリット・デメリット

AWSで、SSL通信を行う設定をすることになったので、ELB(Elastic Load Balancer)+ACM(Amazon Certificate Manager)でSSLを通信を行うときのメリット・デメリットを考えてみた。癖はあったけれど、驚くほど設定が簡単。

デメリット

  • ELBのコストがかかる、ELBは従量課金
  • ELB経由で、アクセスするためには、ELBのアドレスをCNAMEで指定する必要がある(ELBのIPアドレスは変動するから)
  • ELBでSSL通信がオフロードされるので、アプリケーション側の対応が必要(Wordpressだと、追加設定必要だった)

メリット

  • ELBがSSL通信の終端になる
  • ELBがSSLのオフロードをしてくれるので、EC2側のSSL設定はいらない
  • EC2にSSL設定をしないので、OpenSSLの脆弱性と闘わなくていい(アップデートの手間が軽減される)
  • Amazon発行のSSL証明書が無料で使える(ELBにはコストがかかる)
  • ELBを使用するので、スケールアウトが用意になる
  • 証明書の設定が簡単にできる(認証キーとかの知識もいらないので楽ちん)

WordPress 5.2.1へのアップデートで不具合

別のサイトで、Wordpress 5.2.1にアップデートしたところ、新規投稿画面と編集画面にアクセスすると、真っ白になるようになった。

Webサーバのログも見たが、これと言ったエラーも出ていない。念のため、Webサーバのサービスも再起動したが変わらず。一応、5.2.1の再インストールも行なったが変わらず。そんなわけで、とりあえず、放置。新しいアップデート待ち。

忘れた頃に、不具合を引くなぁ。アップデートする際には、気をつけた方がよいかも。

Nginx-fullをインストールしたときに設定されているオプション

ubuntu 18.04.02で、Nginx-fullをインストールしたときにインストールされているオプション。

“–with-http_ssl_module” と “–with-http_v2_module” がついているので、SSL化もHTTP/2化もすんなりとできる。

zen:/var/log$ nginx -V
nginx version: nginx/1.14.0 (Ubuntu)
built with OpenSSL 1.1.0g  2 Nov 2017
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fdebug-prefix-map=/build/nginx-FIJPpj/nginx-1.14.0=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2' 
--with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx 
--conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log 
--error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid 
--modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body 
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy 
--http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug 
--with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 
--with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module 
--with-threads --with-http_addition_module --with-http_geoip_module=dynamic --with-http_gunzip_module 
--with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_sub_module 
--with-http_xslt_module=dynamic --with-stream=dynamic --with-stream_ssl_module 
--with-stream_ssl_preread_module --with-mail=dynamic --with-mail_ssl_module 
--add-dynamic-module=/build/nginx-FIJPpj/nginx-1.14.0/debian/modules/http-auth-pam 
--add-dynamic-module=/build/nginx-FIJPpj/nginx-1.14.0/debian/modules/http-dav-ext 
--add-dynamic-module=/build/nginx-FIJPpj/nginx-1.14.0/debian/modules/http-echo 
--add-dynamic-module=/build/nginx-FIJPpj/nginx-1.14.0/debian/modules/http-upstream-fair 
--add-dynamic-module=/build/nginx-FIJPpj/nginx-1.14.0/debian/modules/http-subs-filter

やっぱり、Windows Phoneは終了のようです

今年に入ってから、というか昨年末のあたりから新しいWindows Phoneの端末が出ないから、怪しいとは思っていた。どうやら、Windows Phoneは終息のようだ。セキュリティアップデートなどは行うけれど、新規の機能追加はないとのこと。Windows CEの頃もだけど、悪くはないけど、流行らないんだよね。個人的には残念だ。コンセプトは悪くないから、売り方というか見せ方の問題だったのかな。

あと、先行きが不透明になったから、Windows Phoneを採用しなくてよかった。

Of course we’ll continue to support the platform.. bug fixes, security updates, etc. But building new features/hw aren’t the focus.

新しいiPhoneは何を買うか

新しくiPhoneが発表されたので、どれを買うか。
恒例ではあるが、今年は3年目なので、買い換えたい。
じゃあ、どのモデルにするか、という楽しい悩みがある。

それで悩みどころは、

めっちゃくちゃ高いけど、いろいろと満載のiPhone Xにするか。
バランス重視だけど、順当に進化しているiPhone8にするか。
画面大きめ、今使っているサイズを守るためにiPhone8 plusにするか。
それとも、コストパフォーマンスを重視して、iPhone SEにするか(値下げされたし)。

となる。
いろいろと考えたが、iPhone8 の256GBモデルがよさそう。
決め手はコストも含めたバランス。
そして、きっとケースの種類が多いこと!(重要!)
SEやplusだと、いいケースがない。
例えば、スターウォーズ模様のケースがほしくても、売っていないとか。
種類も少なくて高い、そしてなかなか買えない、という悩みがでてくる。
だから、iPhone8にする。

写真撮影や動画撮影するので、容量は多いほうがいいので256GB。
Apple Careをつけると、余裕で10万円を超える。
すぐにでも予約したいけど、いろいろと高いので、
キャリアの料金プランをみたいのであえて出遅れる予定。
これでいいのだ。

Mac OS X 10.4 のNTPDの設定方法

Mac OS X 10.4で検証済み。10.3は異なるので、使えない。
10.5は、まだ検証していない。

-1)terminalを開く
terminalは、アプリケーションの中のユーティリティの中にある。

-2)/etc/ntp.confがあるかどうか確認する。
# ls /etc/ntp.conf
ntp.confが無い場合は、なにも表示されない。

-3)上で、ntp.confが無かった場合、下記のコマンドを実行する
# sudo echo ‘server time.asia.apple.com minpoll 5 maxpoll 11’ > /etc/ntp.conf

-4)NTPDの再起動を行う。再起動コマンドは、下記。
# sudo /System/Library/StartupItems/NetworkTime/NetworkTime restart

-5)NTPDが正常に動作しているか確認する。
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
time.asia.apple 17.254.0.49 2 u 1 64 1 250.625 -5.987 0.756

-6)上のようになっていれば、OK。ちゃんと、同期されているかは、定期的に確認する。

-7)設定しても、時間合わせがうまくいかない場合には、ntp.confの内容を下記に変更する
server time.apple.com iburst