プログラミング

はいぱぁてきすとぷろせっさ7.1

はいぱぁてきすとぷろせっさ7.1

|ω・)そろり。

ようやくPHP7.1が来ましたよ。
早速サーバにインストールしました。

所感

RC版の段階でテストサイトである程度確認していたのですが、Smartyのキャッシュを削除した直後でもサクサク動いております。
それとイラストのサムネイルはPHPでリサイズ/表示させているのですが、PHP5.6のときと比べるとパッと見て速くなった感じはします。

トラブルシューティング

インストール直後にMySQL(PDO)でDBに接続できないエラーが出ました。

調べてみたらphp.iniでソケット指定が必要なディレクティブがあって、うちの場合は下記のように設定するとちゃんと動くようになりました。

pdo_mysql.default_socket = /var/lib/mysql/mysql.sock

環境によりけりかもしれませんが、気に留めておくとよいかもしれません。(´・ω・)

なお、当サーバはMySQL5.6を動かしています。

プログラミング

PHP7.1.0 RC4

|ω・)そろり。

PHP7はPHP5より速いとかなんとか。

前から気になっていたので、PHP7.1.0RC4をサーバーにソースからビルドしてインストール!

テストサイトだけPHP7.1.0RC4が動くように設定しました。

こういうときにユーザー権限でのFastCGIが役に立ちますねぇ。

超簡易的適当速度計測

ホームページのシステムを速度計測できるように少々改造。

なお、速度計測と言っても下記のような簡単なコードです。

$starttime = microtime(true);
/* ---------------
    色々な処理
--------------- */
$proctime = microtime(true) - $starttime;

超簡易的で適当なやり方ですが、10回くらいリロードを繰り返してその都度時間を確認しただけです。

  • PHP 5.6
    約0.10 ~ 0.15秒
  • PHP 7.1 RC4
    約0.07 ~ 0.09秒

数値を見る限りでは少しだけ速くなっているようです。

うちのホームページごときでは体感できないレベルですが、WordpressなどのCMSだと大きく影響するかもしれませんね。

よもやま話

今回の件でちょっとハマりそうになったお話。

microtime()関数は文字列を返します。
float型で取りたいときは、"microtime(true)"としましょう。

PHP:microtime - マニュアル

PHP7で"microtime()"で動かしてみたら「引き算してるけどデータ型がおかしいぜ。(かなり意訳)」みたいなNoticeエラーが出てしまいました。

A non well formed numeric value encountered in /home/***/www/***.php on line xx

てっきりfloat型で取ってると思っていたら、実は文字列だったのでエラーが出たということらしいです。

プログラミング

アイコン

ブログのエントリー上下にあるカテゴリとタグにアイコンを付けました。

Bootstrapを使っても良かったんですが、ちょっと重たいので少しさがしてみたところ、「Genericons」なるモノを見つけました。

Webフォントなので色・サイズをCSSで変更できます。便利ですね。

謎の「・」解決

前々からスマートフォン用のOperaやChromeで謎の「・」が出ていたのですが解決しました。

原因は「 」の部分で、それを取ると消えました。

一体何が悪かったのか?(´・ω・`)

お絵描き プログラミング

Async

Javascriptでデータ読み込みをすると非同期なのでどうやって読み込み完了まで待つか思案しております。

読み込むデータが一つではないのでなおさらです。

小さいモノならソースコードに直接書いてもいいのですが、なんだかなぁ・・・。(´・ω・`)

進捗どうですか?

お絵描き

とりあえず塗り塗り。
背景どうしましょ。(´・ω・)

スポンサードリンク