エックスサーバーでの ionCube Loader の設定について調べてみた


エックスサーバーでの ionCube Loader の設定について調べてみた事をまとめておきます。現在は、PHP のバージョンとしては、7.0.7 / 5.6.22 / 5.5.30 / 5.4.45 / 5.3.3 / 5.2.17 / 5.1.6 / 4.3.9 の 8つのバージョンが用意されている。推奨 5.6.22 で、5.5.30 が無印、それ以下は非推奨というラベルがついている。



PHP 5.6.22 の場合

  • 現在公式にサポートされているバージョンで、このバージョンの利用が推奨されている。 *「PHP高速化設定(FastCGI)」と「CPU負荷を軽減するための拡張モジュール(OPcache)」が標準で有効となっており、無効にすることはできない。
  • php.ini の設定は、コントロールパネルで設定できるように準備されており、ホームディレクトリなどにお客様側で個別に設定されたphp.iniは全て無効になっている。
  • public_html と同じ階層にある xserver_php の中にある php.ini を修正することで、ioncube loader の利用が可能なことを確認できた。 その際に「zend_extension = opcache.so 」の前に記述する必要がある。コントロールパネルからでなく、追加しても同様に動作することも確認できた。 *.htaccess は初期状態で以下の4行が書かれている。これは消してはいけない。
suPHP_ConfigPath /home/ablogcms/ablogcms.xsrv.jp/xserver_php/
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/hobbyspot/hobbyspot.xsrv.jp/xserver_php/php-cgi" .php
FCGIWrapper "/home/hobbyspot/hobbyspot.xsrv.jp/xserver_php/php-cgi" .phps

PHP5.5.30 の場合

  • 現在公式にサポートされているバージョンですが、PHP 5.6 の利用を推奨している。
  • public_html と同じ階層にある xserver_php の中にある php.ini を修正することで、ioncube loader の利用が可能なことを確認できた。 その際に「zend_extension = opcache.so 」の前に記述する必要がある。コントロールパネルからでなく、追加しても同様に動作することも確認できた。
  • .htaccess は初期状態で以下の2行が書かれている。これは消してはいけない。
  • 「PHP高速化設定(FastCGI)」と「CPU負荷を軽減するための拡張モジュール(OPcache)」がコントロールパネルから ON/OFF が可能になっている。
  • FastCGI が OFF の時にコントロールパネルから、php.ini の設定を OFF にすると、ドキュメントルートに設置した php.ini が有効になるようです。

コントロールパネルからの php.ini の設定

一般的にはコントロールパネルから php.ini を設定する際には、保存時に設定が有効になるようになっているが、xserver_php/php.ini を直接 FTP 等を利用して修正すると即時反映されない。 この点が、なかなか理解できず正しい設定を追加しているのに動かないという状況になっている事がわかりました。

コントロールパネルからの php.ini の設定を OFF にする事で、public_html の php.ini が有効になります。この場合には、修正したものが即時反映されます。



FastCGI & OPcache OFF の場合の .htaccess

suPHP_ConfigPath /home/ablogcms/ablogcms.xsrv.jp/xserver_php/
AddHandler x-httpd-php5.3 .php .phps

FastCGI & OPcache ON の場合の .htaccess

suPHP_ConfigPath /home/ablogcms/ablogcms.xsrv.jp/xserver_php/
AddHandler x-httpd-php5.5 .php .phps
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/hobbyspot/hobbyspot.xsrv.jp/xserver_php/php-cgi" .php
FCGIWrapper "/home/hobbyspot/hobbyspot.xsrv.jp/xserver_php/php-cgi" .phps

OPcache が有効な場合の ionCube Loader の対応

上の調査のところにも書いてあるが、zend_extension = opcache.so の前に、ionCube Loader の記述を追加する必要がある。なので、プログラムから ionCube Loader の設定をする場合、OPcache 設定の有無をチェックして設定するか、[Zend Optimizer] の記述の下に追加するようにするのがいいかと思う。

問題は、PHP のプログラム側から php設定 の ON/OFF の区別をつける方法がわからない。 php_ini_loaded_file という関数で、現在利用している php.ini が認識できたので、そこに ioncube Loader の記述ができそうです。 /home から始まってるパスでない場合には、php.ini ファイルを作る事で利用できるようになる事も確認できました。

今回検証した環境

非推奨 の 5.4 以下の PHP と 7.0.x 以上では「簡単セットアップ」を動かないようにしたので、検証した環境は以下の5つになりました。

  • PHP 5.6.22 / コンパネ php.ini 設定 : ON , FastCGI : ON , OPcache : ON
  • PHP5.5.30 / コンパネ php.ini 設定 : ON , FastCGI : ON , OPcache : ON
  • PHP5.5.30 / コンパネ php.ini 設定 : ON , FastCGI : ON , OPcache : OFF
  • PHP5.5.30 / コンパネ php.ini 設定 : ON , FastCGI : OFF , OPcache : OFF
  • PHP5.5.30 / コンパネ php.ini 設定 : OFF

一番、楽なのは 5.5.30 コンパネ php.ini 設定 が OFF の環境が public_html で自分で php.ini を設定するので分りやすいですね。


コメント

山本一道

山本 一道

有限会社アップルップル

名古屋のホームページ制作会社「有限会社アップルップル」の代表をしています。弊社で開発しているCMS「a-blog cms」や、名古屋の「WCAN」という名古屋のWeb制作者のためのセミナーの主催や、コワーキングスペース「ベースキャンプ名古屋」も始めました。

test

エントリーリスト

カテゴリーリスト

タグクラウド

  • ベースキャンプ名古屋に新しく27インチ 2560x1440 のディスプレイが追加されました。 でも、最大解像度で表示できるケーブルが入荷していないので 1920x1080 の表示になっています。

    kazumich

    Type: image / Filter: Normal / Link / Feb 18th, 2017

    Comments: 0 / Likes: 4

  • マカベン始まりました! #758markup

    kazumich

    Type: image / Filter: Normal / Link / Feb 18th, 2017

    Comments: 0 / Likes: 3

  • 今日のベースキャンプ名古屋では「YouTube勉強会」が開催されています。Super Chat というサービスが開始されたみたいです。

    kazumich

    Type: image / Filter: Normal / Link / Feb 11th, 2017

    Comments: 0 / Likes: 7

  • 席を確保しランチ!

    kazumich

    Type: image / Filter: Normal / Link / Feb 09th, 2017

    Comments: 0 / Likes: 8

  • 順調に進化している森田さんが JS の勉強会で jQuery のプラグインを作った事について発表している。

    kazumich

    Type: image / Filter: Normal / Link / Jan 21th, 2017

    Comments: 0 / Likes: 6

  • 今日はアップルップルの非公開な社内勉強会で「ブランディング勉強会」を、社外から先生(ワクグミ田川さん)を招いて全員で受講しています。

    kazumich

    Type: image / Filter: Gingham / Link / Jan 18th, 2017

    Comments: 0 / Likes: 9

  • 今日は千代さんと2017年版のサイトについて打ち合わせでした。 http://chiyo-katsumasa.com

    kazumich

    Type: image / Filter: Normal / Link / Jan 18th, 2017

    Comments: 0 / Likes: 5

  • 週に1回はココに。

    kazumich

    Type: image / Filter: Normal / Link / Jan 11th, 2017

    Comments: 0 / Likes: 12

  • 恒例の年末のイベントが終わって、1年が終わりです。皆、1年ありがとう!

    kazumich

    Type: image / Filter: Normal / Link / Dec 29th, 2016

    Comments: 0 / Likes: 12

  • 今年も忘年会終わった!

    kazumich

    Type: image / Filter: Normal / Link / Dec 29th, 2016

    Comments: 0 / Likes: 4

実践! コンテンツファーストのWebサイト運用  a-blog cmsではじめるCMSプロトタイピング

2016年6月30日に株式会社ボーンデジタル様より「実践! コンテンツファーストのWebサイト運用 a-blog cmsではじめるCMSプロトタイピング」が発売されました。