ホーム > 各種マニュアル | サポート > PHPについて

PHPについて

PHP5 激安/Light/Power/Bizプランの各サーバではPHP5.3、PHP5.4、PHP5.5、PHP7.0、PHP7.2、PHP7.4をご利用いただけます。_
(いずれもCGI版、コマンドライン版をご提供)
  1. PHPを利用するには
    • webからのご利用
      • PHPのバージョン切り替え方法
      • コントロールパネルのアカウント一覧から、コンテンツ管理アカウント (ftpアカウント)に指定されているアカウントの設定を開いて「web/CGIの設定」 にてPHP5.3、PHP5.4、PHP5.5、PHP7.0、PHP7.2、PHP7.4の切り替えが行えます。(PHP5.6、PHP7.1は未提供)

      • 切り替えを行うと、コンテンツディレクトリに.htaccessが作成され次のような記述が追加されます。
        Action php-script /.system_cgi/php74.cgi  (PHP7.4の場合)
        
      • 一部のコンテンツディレクトリのPHPバージョンを変更したい場合 一部のディレクトリ以下の階層のみ変更したい場合は、.htaccess ファイルを作成して次のいずれかの記述を行ってください。
        ◎ PHP7.4の場合
        Action php-script /.system_cgi/php74.cgi
        
        ◎ PHP7.2の場合
        Action php-script /.system_cgi/php72.cgi
        
        ◎ PHP5.4の場合
        Action php-script /.system_cgi/php54.cgi
        
        ◎ PHP5.3の場合
        Action php-script /.system_cgi/php53.cgi
        
        ※PHP7.2は2020年11月30日で開発チームのサポートが終了する予定です。
        ※PHP5.4はCentOS7のパッチを流用して2024年の6月まで長期サポートの予定です。
          (サポート期間は変更する場合がございます)
        ※PHP5.3はすでに開発チームでのサポートが終了しております。
        
    • コマンドラインから利用するPHP
      コマンドラインや.forwardなどからPHPを利用する場合は /usr/local/bin/php もしくは特定のPHPのバージョン毎のパス名を指定します。 スクリプト(バッチファイル)として利用する場合はスクリプト冒頭で次のように php.iniを指定してください。
      #! /usr/local/bin/php74 -c/home/55/abc1200/.php/php.ini (php7.4の場合)
      
      ※-c の後に空白を入れないでください。
    • PHPのバージョンと指定するパス名は次のとおりです。
      バージョンパス
      PHP5.4
      /usr/local/bin/php
      ※設定により実行するPHPバージョンを変更可
      PHP7.4/usr/local/bin/php74
      PHP7.2/usr/local/bin/php72
      PHP5.4/usr/local/bin/php54
      PHP5.3/usr/local/bin/php53

      • /usr/local/bin/phpは2017年2月1日からはPHP5.4として動作するように変更いたしました。
      • /usr/local/bin/phpの実行PHPバージョン切り替えについて
        • /usr/local/bin/php はお客様のホームディレクトリ直下に php-cli-version.txt というファイル名でバージョン番号を書き込むことで任意のバージョンで動作するように変更することができます。
        • バージョンとphp-cli-version.txtに書き込む番号の対応は次のとおりです。
          PHPバージョン記入する番号
          PHP7.474
          PHP7.272
          PHP5.454
          PHP5.353
          ※4や5、52を記入しておいても2017年2月1日からはPHP54が実行されます。
  2. PHPの環境設定(php.ini)
    • デフォルトではコンテンツ管理アカウントのディレクトリ直下に .php というディレクトリが作られ、その中にphp.iniが置かれています。
    • php.iniの内容は即時に反映されます。
    • 一部のディレクトリ以下でのみ変更したい場合、専用のphp.iniを作成・指定することができます。
    • 専用のphp.iniの指定はCGI版の場合.htaccessファイルを設置して、次の記述を行ってください。
      setenv PHPRC /home/11/abc1200/example.jp/mycontents ← php.iniを置いたディレクトリ
      
    • コマンドライン版をご利用の場合は、先の説明のとおり-cオプションで php.iniをご指定ください。
    • PHP5.3以降ではphp.iniに次の記述が必要です。
      date.timezone = Asia/Tokyo
      
    • PHP5.4以降ではphp.iniに次の記述が含まれている場合、エラーになり実行できません。
      allow_call_time_pass_reference
      register_long_arrays
      register_globals
      magic_quotes_gpc
      magic_quotes_runtime
      magic_quotes_sybase
      
      PHP5.4ではregister_globalsやmagic_quotesの機能自体が廃止されております。 詳しくはこちらのページもご参照ください。
    • PHPのバージョンによりモジュールによっては「extension=」の記述を 削除する必要がある場合がございます。モジュール一覧中で「本体組み込み」 になっているものはextension=でのロードは行わないように変更が必要です。
      このページ下のモジュール一覧でご確認ください。
  3. CGI版とモジュール版の違い 当社サーバのPHPはいずれもCGI版としてご提供しております。
    apacheモジュールとして動作する場合との違いをまとめました。

    -モジュール版(※1)CGI版
    実行権限httpd(システム権限)お客様アカウント
    php.iniの設定変更不可可能
    phpの設定変更htaccess(※2) php.ini(※3)
    実行時のメモリー制限8MB(一律に制限)php.iniで変更 可能(※4)
    BASIC認証利用できます利用可能(※5)

    ※1 当社サーバではモジュール版はご提供いたしておりません。
    ※2 当社サーバではhtaccessにphp_value/php_flagsがありますとInternal Server Errorになります。
    ※3 前項「PHPの環境設定」をご覧ください。 ※4 最大値はCGIの実行制限(ご契約プラン毎に異なります)によります。
    ※5 CGI版でのBASIC認証利用につきましては本ページの「phpでBASIC認証行う」をご覧ください。

  4. ご利用いただけるPHPのモジュール
    赤色のモジュールは 利用する場合にはお客様のphp.iniの末尾に次のように記述を追加してくださ い。
    例)
    extension=json.so
    extension=pgsql.so
    
    青色のモジュールはphp.iniへの記述追加は不要です。

    モジュール

    解説

    備考

    GD(gd.so)

    グラフィックライブラリGD

    -

    ImageMagick(imagick.so)

    画像処理関数

    PHP5.4、PHP7.0、PHP7.2でご利用いただけます。

    mcrypt(mcrypt.so)

    暗号化ライブラリmcryptの利用

    -

    hash/mhash

    チェックサム・ハッシュ関数

    -

    xml

    XMLのサポート

    PHP5.5以降では本体組み込みになりました。

    DOM(dom.so)

    XML用のAPI

    -

    xmlreader(xmlreader.so)

    XMLのサポート

    試験的導入

    xmlwriter(xmlwriter.so)

    XMLのサポート

    試験的導入

    simplexml(simplexml.so)

    XMLのサポート

    試験的導入

    xmlrpc (xmlrpc.so)

    XMLを使用したリモート実行機能

    -

    spl

    PHPのための標準的インタフェースやク ラス

    -

    socket(sockets.so)

    通信用socketのサポート

    -

    FTP(ftp.so)

    FTPプロトコルのサポート

    -

    curl(curl.so)

    各種通信プロトコルのサポート

    -

    openssl(openssl.so)

    暗号通信ライブラリopensslのサポート

    -

    mbstring(mbstring.so)

    日本語のサポート

    -

    mecab(mecab.so)

    日本語の形態素解析エンジン

    php7.4からは提供中止

    iconv(iconv.so)

    文字コード変換ライブラリ

    -

    pcre

    perl互換正規表現のサポート

    -

    Zlib(zlib.so)

    圧縮ライブラリのサポート

    -

    filter(filter.so)

    入力データの検証用モジュール

    -

    session(session.so)

    セッション機能のサポート

    -

    PostgreSQL(pgsql.so)

    PostgreSQLデータベース

    -

    MySQL(mysql.so)

    MySQLデータベース

    PHP7.0以降では廃止されました。mysqliをご使用ください。

    MySQLi(mysqli.so)

    MySQL改良版拡張モジュール

    PHP5.4ではphp.iniへの追加必要。PHP7.xでは追加しなくともご利用いただけます。

    SQLITE

    SQLITEデータベースのサポート -
    PDO(pdo.so) データベースアクセス用インタフェース
    (pdo_mysqlなどで使用) ※2
    -

    pdo_sqlite(pdo_sqlite.so)

    SQLITEをPDOインタフェースから利用する ためのドライバ(sqlite.soの関数とは使い 方が異なります) -
    pdo_mysql(pdo_mysql.so) MySQLをPDOインタフェースから利用するた めのドライバ(mysql.soの関数とは使い方 が異なります)

    試験的導入

    pdo_pgsql(pdo_pgsql.so) PosqgreSQLをPDOインタフェースから利用するた めのドライバ(pgsql.soの関数とは使い方 が異なります)

    試験的導入

    bcmath(bcmath.so)

    任意精度数学関数

    -

    json(json.so)

    JavaScriptオブジェクトのシリアライズ機能

    -

    gettext(gettext.so)

    国際化プログラムの作成支援ライブラリ

    -

    Calendar(calendar.so)

    日付変換のサポート

    -

    zip(zip.so)

    ZIPのサポート

    -

    opcache(opcache.so)

    OPcache

    プログラムをキャッシュして高速化します。PHP7.0以降でご利用いただけます。

    intl(intl.so)

    国際化関数

    PHP5.4、PHP7.0、PHP7.2でご利用いただけます。

    試験的導入 →  予告なくシステムから取り除かれる場合のある機能

    php5.3までのSQLite(sqlite.so)は他にspl.soとsimplexml.soが必要です。
    extension=simplexml.so
    extension=spl.so
    extension=sqlite.so
    
    のように依存するモジュールを先に記述してください。

    PDOモジュール(pdo_mysql.soなど)も他に依存するモジュールがあります。
    extension=simplexml.so
    extension=spl.so
    extension=pdo.so
    extension=pdo_sqlite.so (MySQLの場合はpdo_mysql.so)
    
    のように依存するモジュールを先に記述してください。

    OPcacheを使用することでPHPのプログラムをプリコンパイルした状態でファイルに残してキャッシュとして利用することができます。これによりPHPプログラムの実行が高速になります。
    PHP7.0/PHP7.2でOPcacheを利用する場合はphp.iniに次の記述を加えてください。
    zend_extension=opcache.so
    
    opcache.file_cache = /home/33/abc1200/.php/tmp
    opcache.file_cache_only = on
    
    • opcacheは zend_extension= で読み込み設定します。extension=ではありませんのでご注意ください。
    • /home/33/abc1200 の部分はお客様のホームディレクトリに置き換えてください。
    • opcache.file_cacheで指定したディレクトリにプリコンパイルされたプログラムが書き出されます。
    • php7.4の機能詳細(phpinfo)は こちら をご覧ください。
    • php5.4の機能詳細(phpinfo)は こちら をご覧ください。
    • php7.2の機能詳細(phpinfo)は こちら をご覧ください。

  5. fastcgiによる高速化実行 PHP7.4/PHP7.2/PHP7.0でのOPcacheによるプログラムのプリコンパイル、キャッシュの他、fastcgiを使用してプロセスの半常駐化させることによって応答性能を向上させることが可能です。
    fastcgiによるPHP実行高速化はこちらのページをご覧ください。→ [fastcgiによるPHP実行高速化]

  6. 文字コードについて
  7. PHPにはフォームから入力した文字列の文字コード(漢字コード)を自動的に変換する機能があります。正しく漢字を扱う場合は次のようにphp.iniファイルでPHPの漢字コードを指定してください。

    php.iniへの記述例】

    [mbstring]

    mbstring.http_input = auto
    mbstring.encoding_translation = off ←
    文字化け対策ではoffを推奨

    mbstring.internal_encoding = EUC-JP    ← プログラムに合わせて指定します
    mbstring.http_output = EUC-JP            ←
    プログラムに合わせて指定しますmbstring.script_encoding = EUC-JP ← プログラムに合わせて指定します


    文字コードは EUC-JPSJISなどが指定できます。


  8. セッション(sessionモジュール)のご利用について
  9. 次のようにphp.iniへの記述の追加と、セッション情報保存用ディレクトリの作成が必要です。
    • セッション情報保存用のディレクトリを作成してください。お客さまのホームディレクトリが /home/11/abc1200 の場合は、この下などに /home/11/abc/1200/.php/tmp のような名前でディレクトリ(フォルダ)を作成してください。ディレクトリのパーミッションは700にしてください。

    • php.iniに次の内容を追加してください。

      php.iniへの記述例】


      session.save_path = /home/11/abc/1200/.php/tmp

      ディレクトリはお客さまのホームディレクトリに合わせてください。

      ディレクトリはあらかじめ作成しておいてください。


    • コントロールパネルでCGI版PHP/SuExecへの環境変更を行った場合はこの設定が自動的に行われ、ディレクトリも作成されます。

  10. phpでBASIC認証行う
  11. モジュール版PHPのようにCGI版PHPでBASIC認証を行いたい場合は次のようにhtaccessで設定を追加することでIISなどで利用されている「HTTP_AUTHORIZATION」環境変数を使用した認証(※)が可能になります。
    設定は次のように.htacessに記述を追加してください。

    
    RewriteEngine On
    RewriteCond %{HTTP:Authorization} ^(.*)
    RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
    

    HTTP_AUTHORIZATION変数に対応していないプログラム(PHP_AUTH_USER/PHP_AUTH_PWのみを使用するもの)に関してはプログラムに一部修正が必要です。
    こちらのサンプルプログラムを参考にしてください。 BASIC認証サンプルプログラム

    ※pukiwikiやphpMySQLAdminなどがHTTP_AUTHORIZATION変数に対応しておりますので修正は不要です。
    ※コントロールパネルでPHP5を使用するように設定した場合は自動的にこの設定が行われます。

  12. .htmlや.htmのファイルをPHPとして実行する
  13. index.html など拡張子が.phpでないファイルもPHPのファイルとして扱いたい場合は htaccessファイルを作成して、その中に次のように記述してください。
    AddHandler php-script .php .htm .html

    ※モジュール版PHPとは設定方法が異なりますのでご注意ください。
    ※この設定はサーバに本来必要のない負荷をかける場合がありますので、必要なディレクトリのみに限定してご利用ください。

  14. その他
    • PHPに関するサポートはできませんのでお客様の責任においてご利用ください。
    • バージョンアップにともなって大きな変更が発生する場合には事前にお知らせページに掲載いたしますのでお客様自身で影響をご検討いただき、必要な修正を行っていただく必要があります。大きな変更がない場合には特にお知らせはいたしません。

ホーム > 各種マニュアル | サポート > PHPについて

▲ このページトップへ