技 術

コアサーバーに寄せられるよくある質問を掲載しております。

まずは無料トライアルから

PHPをCGIとして動かす方法について

A

標準ではFastCGI版としてご利用いただけます。何らかの理由で古いバージョンのPHPを動かす、別途モジュールを追加して運用する等が必要な場合、CGI版として動かすことができます。 ただし、速度が遅くなり負荷が高くなります。

方法
動かしたいPHPがあるディレクトリ内に下記一行を「.htaccess」に追加、または新しく設置してください。全ての「.php」ファイルがCGIとして実行されます。
パーミッション:644などCGIとして必須のオーナー実行権限がなくても実行できますので、標準のFastCGI版PHPの設定を引き継いで動作します。 また、先頭行に「#!/usr/local/bin/php」を入れていただく必要はありません。 AddHandler application/x-httpd-phpcgi .php
メリット
  • FastCGI版で対応していないバージョンを使うことができる。
  • モジュールを追加して動作させることができる。
デメリット
  • FastCGI版PHPに比べて動作が遅くなる、負荷がかかる。
その他
  • htaccessでカスタマイズできますので、
    <Files sample.php>
    </Files>
    等のディレクティブを使い、特定のPHPだけCGIとして動かすということも可能になります。
応用

「.htaccess」ファイルに記述するコマンド

PHP53が標準のサーバーで「.php」をCGI版PHP53として動かす AddHandler application/x-httpd-phpcgi .php
「.php」をCGI版PHPとして動かす AddHandler application/x-httpd-phpcgi .php
「.php」をCGI版PHP7.2として動かす AddHandler application/x-httpd-php72cgi .php
「.php」をCGI版PHP7.1として動かす AddHandler application/x-httpd-php71cgi .php
「.php」をCGI版PHP7.0として動かす AddHandler application/x-httpd-php70cgi .php
「.php」をCGI版PHP5.6として動かす AddHandler application/x-httpd-php56cgi .php
「.php」をCGI版PHP5.5として動かす AddHandler application/x-httpd-php55cgi .php
「.php」をCGI版PHP5.4として動かす AddHandler application/x-httpd-php54cgi .php
「.php」をCGI版PHP5.3として動かす AddHandler application/x-httpd-php53cgi .php

「.user.ini」を設置、カスタマイズして動かす

ご自身で「.user.ini」を設置して動かすことができます。 設置場所は、呼び出すphpファイルを設置しているディレクトリ・フォルダ内になります。

記述例

セキュリティ対策
display_errors = Off
UTF8を標準の文字コードとする
  • mbstring.language = Japanese
  • mbstring.internal_encoding = UTF-8
  • mbstring.http_input = auto
  • ;mbstring.http_output = UTF-8
  • mbstring.detect_order = auto
EUC-JPを標準の文字コードとする
  • mbstring.language = Japanese
  • mbstring.internal_encoding = EUC-JP
  • mbstring.http_input = auto
  • ;mbstring.http_output = EUC-JP
  • mbstring.detect_order = auto
SHIFT-JISを標準の文字コードとする
  • mbstring.language = Japanese
  • mbstring.internal_encoding = SJIS
  • mbstring.http_input = auto
  • ;mbstring.http_output = SJIS
  • mbstring.detect_order = auto
大きいファイルを投稿する
  • post_max_size = 100M
  • max_execution_time = 300
  • max_input_time = 600
  • memory_limit = 200M

フォームの要素が多い場合
max_input_vars = 10000

「/public_html/.fast-cgi-bin/」に 「php.ini」を設置いただき、下記のような記述(例)を行ってください。 「.user.ini」ではモジュールは追加できません。

→ SQLiteモジュールを使う
  • extension_dir = "/usr/local/lib/php/extensions/"
  • extension = sqlite.so
  • extension = sqlite3.so
→ imagicを使う
  • extension_dir = "/usr/local/lib/php/extensions/"
  • extension = "imagick.so"
  • extension = "imagick_php53.so"
→ ZendOptimizerを使う
  • zend_extension = "/usr/local/Zend/lib/ZendOptimizer.so"
  • zend_optimizer.optimization_level = 15
→ ionCube Loaderを使う
zend_extension = "/usr/local/ioncube/lib/ioncube_loader.so"
カテゴリー:
プログラム

関連する質問

CORESERVERはサポートも充実。
困ったをすぐに解決します。

まずは無料トライアル
コアサーバーのお申込みはこちら

<クレジットカード不要の
30日間無料お試し付き>