PHP
目次
ご利用可能な PHP のバージョン
ご利用可能な PHP のバージョンは、ご契約のサーバープランにより異なります。
なお、すべてのバージョンで暗号化通信のバージョン TLS1.2 に対応しています。
マネージドプラン CHM-21Z~23Z
| PHP バージョン | PHP のバージョンを指定する場合の .htaccess ファイルへの記述内容 |
|---|---|
| PHP 7.2.34※1 | AddHandler x-httpd-php72 .php |
| PHP 7.3.29※2 | AddHandler x-httpd-php73 .php |
| PHP 7.4.28※2 | AddHandler x-httpd-php74 .php |
| PHP 8.0.30※2 | AddHandler x-httpd-php80 .php |
| PHP 8.1.33※2 | AddHandler x-httpd-php81 .php |
| PHP 8.2.29※2 | AddHandler x-httpd-php82 .php |
| PHP 8.3.26※2 | AddHandler x-httpd-php83 .php |
| PHP 8.4.13※2 | AddHandler x-httpd-php84 .php |
- 1 バージョン指定しない場合に実行される標準のバージョンです。CHM-2Z では、PHP 7.2 系が実行されます。
- 2 .htaccess ファイルの記述方法は、プランや PHP のバージョンによって異なります。
詳しくは「PHP バージョン指定の記述方法」をご参照ください。
マネージドプラン CHM-11Z~13Z
| PHP バージョン | PHP のバージョンを指定する場合の .htaccess ファイルへの記述内容 |
|---|---|
| PHP 5.6.38※2 | AddHandler x-httpd-php56 .php |
| PHP 7.0.32※1※2 | AddHandler x-httpd-php70 .php |
| PHP 7.1.33※2 | AddHandler x-httpd-php73 .php |
| PHP 7.2.34※2 | AddHandler x-httpd-php72 .php |
| PHP 7.3.29※2 | AddHandler x-httpd-php73 .php |
| PHP 7.4.28※2 | AddHandler x-httpd-php74 .php |
| PHP 8.0.30※2 | AddHandler x-httpd-php80 .php |
| PHP 8.1.33※2 | AddHandler x-httpd-php81 .php |
| PHP 8.2.29※2 | AddHandler x-httpd-php82 .php |
| PHP 8.3.19※2 | AddHandler x-httpd-php83 .php |
- 1 バージョン指定しない場合に実行される標準のバージョンです。CHM-11Z~13Z では、PHP 7.0 系が実行されます。
- 2 .htaccess ファイルの記述方法は、プランや PHP のバージョンによって異なります。
詳しくは「PHP バージョン指定の記述方法」をご参照ください。
マネージドプラン CHM-01Z~03Z
| PHP バージョン | PHP のバージョンを指定する場合の .htaccess ファイルへの記述内容 |
|---|---|
| PHP 5.4.39 | AddHandler x-httpd-php5439 .php |
| PHP 5.5.23 ※1 | AddHandler x-httpd-php5523 .php |
| PHP 5.6.7 | AddHandler x-httpd-php567 .php |
| PHP 5.6.19 | AddHandler x-httpd-php5619 .php |
| PHP 5.6.30 | AddHandler x-httpd-php5630 .php |
| PHP 5.6.31 | AddHandler x-httpd-php5631 .php |
| PHP 5.6.34 | AddHandler x-httpd-php5634 .php |
| PHP 5.6.38 | AddHandler x-httpd-php5638 .php |
| PHP 7.0.32※2 | AddHandler x-httpd-php70 .php |
| PHP 7.1.33※2 | AddHandler x-httpd-php71 .php |
| PHP 7.2.31※2 | AddHandler x-httpd-php72 .php |
- 1 バージョン指定しない場合に実行される標準のバージョンです。CHM-01Z~03Z では、PHP 5.5.23 が実行されます。
- 2 .htaccess ファイルの記述方法は、プランや PHP のバージョンによって異なります。
詳しくは「PHP バージョン指定の記述方法」をご参照ください。
PHP のご利用方法
ご契約のサーバーで PHP を利用する方法は 2 つございます。
.htaccess ファイルを利用せず、標準の PHP バージョンを使用する場合
お客さまのサーバー領域内の html ディレクトリ内の任意のディレクトリに PHP ファイルをアップロードしてください。設置された PHP プログラムは、上記表の【実行バージョン】に※1 がついているバージョンで実行されます。
.htaccess ファイルを利用して、PHP のバージョンを指定する場合
お客さまのサーバー領域内の html ディレクトリ内の任意のディレクトリに PHP ファイルをアップロードしてください。その後、【.htaccess】ファイルに実行バージョンを指定する記述を追加してください。実行可能なバージョンは上記表をご確認ください。
PHP バージョン指定の記述方法
マネージドプラン CHM-21Z~23Z、CHM-11Z~13Z の全バージョン、および CHM-01Z~03Z の 7 系の PHP は、.htaccess ファイルに下記のように記述します。
PHP 7.2.34 を使用するときの記述例です。ご利用のバージョンに合わせて変更してください。
PHP 7.2.34 を使用する場合
.htaccess の記述 AddHandler x-httpd-php72 .php
重要
.htaccess の記述は、~php7234.php ではなく ~php72.php となりますのでご注意ください。
提供されている PHP のバージョンは、コントロールパネルの『お客様情報』>『プログラムのパスとサーバの情報』でご確認いただけます。
今後、 PHP7.2.X の「X」の数字が上がっても(バージョンアップしても)、 .htaccess の記述を変更する必要はございません。 PHP7.Y.Z の「Y」の数字が上がり、PHP7.Y.Z をご利用されたい場合、 .htaccess には『AddHandler x-httpd-php7Y .php』と記述する必要がございます。
PHP の設定の変更方法
PHP の設定を変更することができます。 PHP の設定は設定ファイル (php.ini) を編集し、PHP プログラムが存在するディレクトリと同じ場所に設定ファイル (php.ini) を設置することにより、設定を変更することができます。また、設定ファイル (php.ini) が設置されているディレクトリ以下の階層すべてに同じ設定を適用することも可能です。
1 設定ファイル (php.ini) をコントロールパネルから入手する。
コントロールパネルの【お客さま情報】>【プログラムのパスとサーバの情報】>【PHP ini の設定情報】に PHP のバージョンごとに、 php.ini ファイルの内容がテキスト形式で表示されます。
以下の情報を、お手元のテキストエディタにコピー&ペーストし、php.ini というファイル名で保存してください。
2 保存した設定ファイル (php.ini) をサーバーにアップロードする。
PHP 5.4 未満の場合は、以下のファイル内の以下の記述を変更してください。
(register_globals は PHP 5.4.0 で削除されました)
変更前 register_globals = Off
↓
変更後 register_globals = On
設定ファイル (php.ini) をアップロードしたディレクトリ内で、設定が有効となります。
アップロードしたディレクトリ内の下位ディレクトリにも同じ設定を反映させたい場合は下位ディレクトリにも同じ設定ファイル (php.ini) を設置するか、 .htaccess ファイルに 1 行情報を追記する必要があります。
3 設定ファイル (php.ini) を設置したディレクトリ以下に同じ設定を反映させる方法
設定ファイル (php.ini) を設置したディレクトリ内に、 .htaccess ファイルを作成します。
ファイルの内容は以下の情報を記載してください。
【例】
設定ファイル (php.ini) のフルパス /usr/home/ユーザーID/conf/php.ini
- conf は例として記述したディレクトリ名です。
.htaccess に以下を記述して、設定ファイル (php.ini) と同じ場所にアップロードします。
suPHP_ConfigPath /usr/home/ユーザーID/conf/
最終的に以下の構成になります。
/usr/home/ユーザー ID/conf/php.ini
/usr/home/ユーザー ID/conf/.htaccess
PHP の文字コードについて
PHP 5.5.16 以降のバージョンではデフォルトの文字コード(mbstring.internal_encoding)は「UTF-8」です。
その他のバージョンのデフォルトの文字コード(mbstring.internal_encoding)は「EUC-JP」です。
また、新しくリリースされた PHP7 では、文字コードはmbstring.internal_encoding で指定するのではなく、 default_charset で指定すべきとの情報もございます。
http://php.net/manual/ja/ のサイトや関連情報を参照のうえ、ご利用願います。
PHP ファイル、ディレクトリのパーミッション
PHP を実行する際には PHP プログラムを記述したファイル、 PHP ファイルが含まれるディレクトリのパーミッションの設定にご注意ください。以下のようにファイルは【604】、または【644】、ディレクトリは【705】、【755】としていただき動作をご確認願います。
PHP ファイル
604 rw—-r–
644 rw-r–r–
PHP ファイルが含まれるディレクトリ
705 rwx—r-x
755 rwxr-xr-x
利用制限
.htaccess ファイル内に php_value および php_flag を記述することは出来ません。 500 エラー(Internal Server Error)が発生します。
CPI が提供しているサービス内で提供している PHP は、CPI サービス向けに独自に実装をしております。そのため、すべての機能が動作することを保証しておりません。
PHP や設定ファイル (php.ini) 、.htaccessのご利用に際しては、事前の動作検証やデバッグ、エラーのご確認などを経てご利用いただきますようお願い申し上げます。
PHP プログラム、設定ファイル(php.ini)、 .htaccess ファイルは、記述内容が 1 文字でも間違っていますと、実行結果や動作に影響が発生します。
また、ファイルを設置したディレクトリと、配下のディレクトリすべてに影響が及びますので十分ご注意ください。
PHP(CGI 版)について
このページでは CGI 版での PHP の実行方法について説明します。
PHP 5.6 以上のバージョンをご利用のお客さまへ
PHP バージョン 5.6 以降では、「cgi.force_redirect」のデフォルト値が “on” の状態となっています。
しかしながら CPI のウェブサーバーでは、PHP を CGI 版で実行する場合、「cgi.force_redirect」が “on” の状態ですと、CGI が作動しない仕様となります。
つきましては、PHP の設定ファイル(php.ini)に以下の内容を記述のうえで実行をお願いいたします。
$ cat php.ini cgi.force_redirect = 0
POINT
PHP の設定ファイル(php.ini)の編集方法については、以下をご参照ください。
PHP の設定を変更する
PHP プログラムの準備
1 PHP ファイルの拡張子は、perl で作成した CGI と同じように「.cgi」としてください。
2 PHP ファイルの1行目に実行する PHP のパスを記述します。
PHP のパージョンごとにパスが異なりますので以下の表を参考にしてください。
| プラン名 | PHP バージョン | PHP を CGI 版でご利用する場合の PHP のパスの記述内容 ※ファイルの 1 行目に記述してください。 |
|---|---|---|
| CHM-21Z~23Z | PHP 7.2.34 | #!/usr/local/bin/php-cgi-7.2 |
| PHP 7.3.29 | #!/usr/local/bin/php-cgi-7.3 | |
| PHP 7.4.28 | #!/usr/local/bin/php-cgi-7.4 | |
| PHP 8.0.30 | #!/usr/local/bin/php-cgi-8.0 | |
| PHP 8.1.33 | #!/usr/local/bin/php-cgi-8.1 | |
| PHP 8.2.29 | #!/usr/local/bin/php-cgi-8.2 | |
| PHP 8.3.26 | #!/usr/local/bin/php-cgi-8.3 | |
| PHP 8.4.13 | #!/usr/local/bin/php-cgi-8.4 | |
| CHM-11Z~12Z | PHP 5.6.38 | #!/usr/local/bin/php-cgi-5.6 |
| PHP 7.0.32 | #!/usr/local/bin/php-cgi-7.0 | |
| PHP 7.1.33 | #!/usr/local/bin/php-cgi-7.1 | |
| PHP 7.2.34 | #!/usr/local/bin/php-cgi-7.2 | |
| PHP 7.3.29 | #!/usr/local/bin/php-cgi-7.3 | |
| PHP 7.4.28 | #!/usr/local/bin/php-cgi-7.4 | |
| PHP 8.0.30 | #!/usr/local/bin/php-cgi-8.0 | |
| PHP 8.1.33 | #!/usr/local/bin/php-cgi-8.1 | |
| PHP 8.2.29 | #!/usr/local/bin/php-cgi-8.2 | |
| PHP 8.3.19 | #!/usr/local/bin/php-cgi-8.3 | |
| CHM-01Z~02Z | PHP 5.4.39 | #!/usr/local/bin/php-cgi-5.4.39 |
| PHP 5.5.23 | #!/usr/local/bin/php-cgi-5.5.23 | |
| PHP 5.6.7 | #!/usr/local/bin/php-cgi-5.6 | |
| PHP 5.6.19 | #!/usr/local/bin/php-cgi-5.6.19 | |
| PHP 5.6.30 | #!/usr/local/bin/php-cgi-5.6.30 | |
| PHP 5.6.31 | #!/usr/local/bin/php-cgi-5.6.31 | |
| PHP 5.6.34 | #!/usr/local/bin/php-cgi-5.6.34 | |
| PHP 5.6.38 | #!/usr/local/bin/php-cgi-5.6.38 | |
| PHP 7.0.32 | #!/usr/local/bin/php-cgi-7.0 | |
| PHP 7.1.33 | #!/usr/local/bin/php-cgi-7.1 | |
| PHP 7.2.31 | #!/usr/local/bin/php-cgi-7.2 |
(すべてのバージョンで暗号化通信のバージョン TLS1.2 に対応しています)
3 CGI ファイルをサーバーへアップロードしてください。
ファイルのパーミッションは 705(rwx—r-x) にしてください。
PHP ファイルの拡張子を .php のまま CGI 版で動作させる方法
.htaccess ファイルに以下の記述を追記してください。
AddType application/x-httpd-cgi .php
PHP の設定を変更する
弊社サーバーでは任意の設定内容でPHP を動作させることができます。独自の PHP の設定には、【php.ini】ファイルを使用します。
一例として、 register_globals の設定を変更する方法を紹介します。
1 コントロールパネルの【お客様情報】から【プログラムのパスとサーバーの情報】をクリックます。
使用する PHP と同じバージョンの php.ini 情報をテキストファイルにコピーします。
2 テキストファイルの下記の記述を修正します
中略 ~ 変更前 register_globals = Off 変更後 register_globals = On ~ 中略
3 ファイル名を【php.ini】として保存し、任意のディレクトリにアップロードします。
4 phpinfo を参照のうえ、実際にアクセスして動作検証を行います。
重要
弊社サーバーでは .htaccess ファイルにて php_value および php_flag はご利用いただけません。
記述が .htaccess ファイルにある場合、 500 エラー(Internal Server Error)となってしまいますのでご注意ください。
POINT
弊社サーバーの PHP は php.ini ファイルがカレントディレクトリにある場合、その php.ini ファイルの設定を最優先で読み込みます。ただし下位ディレクトリに対しては効果は及びませんので、下位ディレクトリ全体に独自の php.ini ファイルを有効したい場合には .htaccess ファイルを利用するか、各ディレクトリに 1 つずつ php.ini ファイルを設置してください。
データベースをご利用の場合
マネージドプラン CHM-21Z~23Z をご契約の場合
マネージドプラン CHM-21Z~23Zでは、MySQL 5.7 系 をご利用いただけます。
接続ポート番号は下記標準ポート番号となります。
MySQL 5.7 :3306
お客様にてご用意された CMS などで、 PHP から MySQL に接続する場合は、php.ini や CMS 側の設定ファイルなどで、 MySQL のバージョンに応じたポート番号をご指定ください。
マネージドプラン CHM-11Z~13Z・CHM-01Z~03Z をご契約の場合
MySQL の標準ポート番号は 3306 ですが、ご契約プランでは、5.6 系、5.5 系 をご利用いただけます。
そのため下記のとおり、バージョンごとに接続ポート番号が異なります。
MySQL 5.6 系:3307
MySQL 5.5 系:3306
お客様にてご用意された CMS などで、 PHP から MySQL に接続する場合は、php.ini や CMS 側の設定ファイルなどで、 MySQL のバージョンに応じたポート番号をご指定ください。
.htaccess を利用して下位ディレクトリ全体に PHP の独自設定を反映させる
以下に.htaccess を利用する場合の設置方法を紹介します。
1 下記のように、 php.ini ファイルを設置したディレクトリパスを記述した .htaccess ファイルを用意します。パスは間違いのないよう、正確に記述してください。
例) suPHP_ConfigPath /usr/home/ユーザー ID/html/
2 独自設定の php.ini ファイルで動作させたいディレクトリに .htaccess ファイルをアップロードします。
3 実際にアクセスして動作検証を行います。
重要
■php.ini ファイルは、そのままドキュメントルート以下のディレクトリに設置するとブラウザから閲覧されてしまう場合があります。 .htaccess ファイルで以下の記述を追加することにより、 ini ファイルの閲覧を制限できます。
<Files ~ ".ini$"> deny from all </Files>
■.htaccess ファイルでは php.ini ファイルを直接指定すると変更が有効に適用されませんので、ご注意ください。
○ suPHP_ConfigPath /usr/home/ユーザー ID/html/sample/
× suPHP_ConfigPath /usr/home/ユーザー ID/html/sample/php.ini
■php.ini ファイルに必要な箇所しか記述しない場合(ここでは register_globals= On)は、正常に PHP が動作しません。 php.ini ファイルを作成するときには、弊社標準の php.ini ファイルを編集されることをお勧めします。
(コントロールパネルの【お客様情報】>【プログラムのパスとサーバーの情報】を選択し、【PHP ini の設定情報】をクリックして、内容をコピー&ペーストしてご利用ください。)
■.htaccess ファイルは設置したディレクトリ以下すべてに影響します。
特定のディレクトリで動作させる場合には、 .htaccess ファイルを使わず、 php.ini ファイルを該当ディレクトリに設置してください。
■.htaccess ファイルは設置したディレクトリ以下すべてに影響します。
記述方法を間違えますとお客様のサイト全体に多大な影響を及ぼしますので、設置タイミング、動作検証など充分に行ってください。
■該当するディレクトリに .htaccess を設置している場合には、ファイルを上書きせずに既存の .htaccess ファイルに追記してください。上書きをしますと既存の設定内容が無効となりますのでご注意ください。
■同一ディレクトリに .htaccess ファイルと php.ini ファイルが両方設置された場合、 .htaccess ファイルの設定が優先されます。
■.htaccess ファイルの詳細については、検索エンジンや関連書籍を参照してください。
■.htaccess ファイルに関しては CPI サポート対象外となります。あらかじめご了承ください。
