WordPressで、xml_parser_create()のエラーが発生した

PHPをPHP5.6からPHP7.3に上げたところ、Wordpressで以下のエラーが発生した。

Fatal error: Uncaught Error: Call to undefined function xml_parser_create()

PHPのオプションで、xmlに関するモジュールがインストールされていないことが原因だった。FreeBSDでパッケージからインストールしているので、下記のようにpkgコマンドでインストール。その後、Apacheを再起動し、無事にエラーは解消。

pkg install php73-xml-7.3.8 

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万円を超える。
すぐにでも予約したいけど、いろいろと高いので、
キャリアの料金プランをみたいのであえて出遅れる予定。
これでいいのだ。