サーバ

Linuxでのソースビルドインストールのディレクトリは?

|ω・)そろり。

VPSをCentOS6で動かしているのですが、どうしてもパッケージが古いのですよ。
そこでLAMP環境を構築するにあたって以下のようにしました。

  • Apache2.2 > yumインストール
  • MySQL5.6 > RPMインストール
  • PHP5.6 > ソースビルドインストール

で、PHP5.6をソースビルドインストールする際にどのディレクトリをインストール先に指定すればよいか?というお話です。

configure のデフォルト設定

大抵 configure のデフォルト設定では

PREFIX=/usr/local

となっていると思います。

そのままでも問題無いのですが、少し困ったことが起こります。

  • アンインストールはどうするんだ。
    (関連ファイルがbin等の多くのディレクトリにバラけるので削除が面倒)
  • 関連ファイル名が同じなのでバージョン違いをインストールできない。
    (例:PHP5.x系と7.x系を共存させる)

どこに指定するか?

自分がLinuxを覚え始めた頃は

PREFIX=/usr/local/php5

という形にしていました。(例:PHP5.x)
が、この指定は行儀が悪いそうです。(´・ω・`)

Linuxには"/opt"というディレクトリがあり、用途として手動でアプリケーションをインストールする際に使用するディレクトリになっているとのことです。
(参考:Linuxの基本の基本。Linuxの基本的なディレクトリ構成 / OXY NOTES)
(参考:各ディレクトリの役割を知ろう(ルートディレクトリ編) / @IT)

そうするとPREFIX設定は下記のようになります。

PREFIX=/opt/php5

アプリケーションのアンインストール

アプリケーションをアンインストールしたい場合は該当ディレクトリごと削除すればいいだけです。
※PATH指定やシンボリックリンクが存在する場合は注意しましょう。

バージョン違いの共存

バージョンごとにディレクトリを指定してやれば、違うバージョンのアプリケーションを共存させることができます。

音ゲー

不忍

|ω・)そろり。

「これは特別な金子(きんす)が必要でござる。」

新しい弐寺、システムボイスが素敵。

さて、稼働開始後初めての日曜日(10/30)にがっつり遊んでおりました。

ひとまず2~3プレイ後、段位認定。

SINGLE PLAY 八段

DOUBLE PLAY 八段

・・・毎度ながらこんなもんです。

今回はシステム音楽がまったりしておりますのぅ・・・。
とか思いながら木曜日(11/3)に遊んでみたら、

(´・ω・)?

こんな顔しました。
えらい曲が違う・・・。
日によって変わるのかコレ。

お絵描き

はろうぃん

|ω・)そろり。

世間はハロウィンで持ち切りだったようで。

久しぶりにお絵描きを投下しました。
時間があまり無くて背景がやや突貫工事に・・・。

もう11月・・・。
寒くなってきた。(´・ω・)

プログラミング

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型で取ってると思っていたら、実は文字列だったのでエラーが出たということらしいです。

音ゲー

終着駅

|ω・)そろり。

beatmaniaIIDX 24 SINOBUZ が稼働開始したようで。

そんなわけで copula の結果。

beatmaniaIIDX 23 copula 結果

休日だけしか遊べないものの300回は意外と多いと思いました。

なんとか赤段位維持。
DPは連続3回挑戦でやっと取っただけにやや危険水域になっております。

楽曲解禁は面倒くさくて適当にやっていたので中途半端な解禁状況になった曲がちらほら。

それでは、新作もぼちぼちやっていこうと思います。

スポンサードリンク