さくらインターネットでPHPのstats拡張モジュールを利用可能にする
ロゴ
「Web 開発」に関連する記事一覧

さくらインターネットでPHPのstats拡張モジュールを利用可能にする

2018/11/25
PHP 

FEH の攻略ページを作る際に各キャラクターのステータス等の統計情報を取ることが増えてきました。直近だと標準偏差等は自前で PHP 関数を作って求めていたのですが、処理速度やメンテナンス性を考慮して、PHP の PECL 拡張モジュールの中で統計関数が入っている stats モジュールを使用することにしました。ということで、さくらインターネットでこの拡張モジュールを動作するようにするまでのメモを残しておきます。作業環境は Windows 環境を前提とします。

ゴール

以下の php コードが動作することを目標とします。

<?php
$array = array();
$array[] = 1;
$array[] = 2;
$array[] = 3;
$array[] = 4;
$array[] = 5;
print(stats_standard_deviation($array));
?>

標準機能のままで php を実行すると以下のエラーになります。

PHP Fatal error:  Uncaught Error: Call to undefined function stats_standard_deviation()

これが通って標準偏差が出力されたら目標達成とします。

Tera Term のダウンロード、インストール

さくらインターネットのサーバーにコンソールからSSHでログインするために Tera Term を利用します。以下のリンクからダウンロードできます。

https://ja.osdn.net/projects/ttssh2/releases/

teraterm-4.100.exe がインストーラー形式の exe で、teraterm-4.100.zip はインストール不要なポータブルパッケージとなっていますので、どちらでも構いません。

さくらインターネットにSSHログイン

インストールした Tera Term でさくらインターネットのサーバーにSSHログインします。以下がログイン完了までの手順です。

  1. ttermpro.exe を実行して Tera Term を起動します
  2. Tera Term 起動後、以下のダイアログでホスト名を入力して OK をクリックします
    Tera Term ホスト名入力の画像
  3. 以下の警告が出ますが、Continue をクリックして進みます
    Tera Term セキュリティ警告の画像
  4. さくらインターネットのユーザー名とパスワードを入力して、OK を押します
    Tera Term ユーザー名とパスワードの入力の画像
  5. 以下のような画面になったらログイン完了です
    Tera Term ログイン完了の画像

stats 拡張モジュールのインストール

インストールに関しては以下のページを参考にさせていただきました。

https://pgmemo.tokyo/data/archives/1047.html

以下が stats をインストールするまでの手順です。

  1. ホームディレクトリに php_module_src という作業ディレクトリ(名前は何でもいい)を作成して、そこに移動します
    
    mkdir ~/php_module_src
    cd ~/php_module_src
    
  2. パッケージのソースをダウンロードします
    
    wget https://pecl.php.net/get/stats-2.0.3.tgz
    

    ダウンロード可能なstatsパッケージバージョンは以下のページで確認できます https://pecl.php.net/package/stats
  3. パッケージを解凍します。
    
    tar zvxf stats-2.0.3.tgz
    
  4. 解凍したディレクトリに移動します
    cd stats-2.0.3
  5. 以下のコマンドを実行してパッケージをビルドし、stats.so を作成します
    
    phpize
    ./configure
    make
    make test
    
  6. ビルド成果物を任意のディレクトリにコピーします。ここでは参考ページに合わせてホームディレクトリ以下に php_modules という名前のフォルダを作成します
    
    mkdir ~/php_modules/
    cp ./modules/stats.so ~/php_modules/
    

php.ini に拡張モジュールを使用するための設定を記述

さくらインターネットサーバコントロールパネルから php.ini を編集して、stats を PHP で利用できるように設定します。

  1. コントロールパネルにログインし、アプリケーション設定の「PHP設定の編集」に入ります
    さくらインターネットコントロールパネルPHP設定の編集の画像
  2. 以下を php.ini に記述して保存します
    
    extension_dir =  /home/(ユーザー名)/php_modules/
    extension = stats.so
    

    さくらインターネットphp.ini編集の画像

テストコードの実行

これで stats が利用可能になっているので、最後にテストコードで確認を行います。test.php としてテスト用の PHP コードをサーバーにアップロードして、test.php を表示して標準偏差が表示されることを確認します。

1.4142135623731

無事に標準偏差が表示されるようになりました。同様の手順で他の拡張モジュールもインストールできるので、何か使いたいモジュールが出てきたらがんがん使っていこうと思います。


    このエントリーをはてなブックマークに追加    

関連記事

にほんブログ村 ゲームブログ ファイアーエムブレムへ にほんブログ村 デザインブログ コンピュータグラフィックスへ

0.0295 sec
Copyright(C)2006-2018 wsp All Rights Reserved