PHPについて
PHP5について
激安/Light/Power/BizプランのWWWサーバではPHP5(CGI版/コマンドライン版)をご利用いただけます。
※PHP5ではモジュール版はご提供いたしておりません。
(PHP4についての情報は<こちら>をご覧ください)
- PHP5(CGI版)を利用するには
webからのご利用
- コントロールパネルでCGI版PHP5を利用するように設定する場合は、最初に管 理者メニューの「管理設定」にある 「CGI版PHPおよびSuExec環境への変更」で環境を変更しておく必要があり ます。
- その上で、コントロールパネルのアカウント一覧から、コンテンツ管理アカウ ント(ftpアカウント)に指定されているアカウントの設定を開いて「web/CGIの 設定」にてPHP4とPHP5の切り替えを行ってください。
- コントロールパネルでの環境変更を行った場合は自動的にphp.iniが作成 されます。
- 手動で設定する場合は次の手順で行ってください。
次の設定を.htaccessに追加します。
Action php-script /.system_cgi/php5.cgi
AddHandler php-script .phpお客様のディレクトリ(※1)に「.php」というディレクトリを作 成してその中にphp.iniを置いてください。下記の例のように /usr/local/php5/etc/php.ini の内容に追加・変更したい ものだけを記述しても大丈夫です。
extension=gd.so
memory_limit = 20M- モジュール版のPHPで作成したファイルがある場合、ファイルの所有者がhttpdとなっておりCGI版のPHPやftpからの修正や削除ができない場合があります。
※コントロールパネルからCGI版PHP/SuExecへの環境変更処理を行った場合は ファイルの所有者変更も自動的に行われます。 phpinfo()関数でServer APIがCGIになっていることを確認してく ださい。
※1 コンテンツ管理アカウントのディレクトリ以下に.phpディレクトリを作成 してください。通常は末尾00のアカウントのホームディレクトリになります。
マルチドメインオプションで末尾が00以外のアカウントをコンテンツ管理アカ ウントに指定されている場合は、そのアカウントのホームディレクトリに.php ディレクトリを作成してください。
※2 CGIの実行がSuExec環境でない場合は独自のphp.iniは利用できません。
コントロールパネルの「CGI版PHPおよびSuExec環境への変更」を利用してCGI 版PHP/SuExec環境への変更を行ってください。コマンドライン版のご利用
PHP5のコマンドライン版のパス名は /usr/local/php5/bin/php になります。コマンドライン版では -c オプションでphp.iniのファイル名を指定してください。
例)
/usr/local/php5/bin/php -c /home/xx/xxxx/etc/php.ini- CGI版とモジュール版の違い
- ご利用いただけるPHP5のモジュール
-
モジュール
解説
備考
GD (gd.so)
グラフィックライブラリGD
- mcrypt (mcrypt.so)
暗号化ライブラリmcryptの利用
- mhash (mhash.so)
チェックサム・ハッシュ関数
- xml(xml.so)
XMLのサポート
- DOM(dom.so)
XML用のAPI
- xmlreader(xmlreader.so)
XMLのサポート
試験的導入
xmlwriter(xmlwriter.so)
XMLのサポート
試験的導入
simplexml(simplexml.so)
XMLのサポート
試験的導入
xmlrpc (xmlrpc.so)
XMLを使用したリモート実行機能
- Socket (sockets.so)
通信用socketのサポート
- FTP (ftp.so)
FTPプロトコルのサポート
- Curl (curl.so)
各種通信プロトコルのサポート
試験的導入
openssl (openssl.so)
暗号通信ライブラリopensslのサポート
- mbstring (mbstring.so)
日本語のサポート
- iconv (iconv.so)
文字コード変換ライブラリ
- Pcre (pcre.so)
perl互換正規表現のサポート
- Zlib (zlib.so)
圧縮ライブラリのサポート
試験的導入
Filter (filter.so)
入力データの検証用モジュール
- Session (session.so)
セッション機能のサポート
- PostgreSQL (pgsql.so)
PostgreSQLデータベース
- MySQL (mysql.so)
MySQLデータベース
- SQLITE (sqlite.so)
SQLITEデータベースのサポート ※1 - 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)
日付変換のサポート
- - 文字コードについて
- セッション(sessionモジュール)のご利用について
セッション情報保存用のディレクトリを作成してください。お客さまのホームディレクトリが /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への環境変更を行った場合はこの設定が自動的に行われ、ディレクトリも作成されます。
- 複数の異なるphp.iniを利用する
- 変更したい内容のphp.iniを作成してホームディレクトリ直下の.phpディレクトリにphp.iniとしてアップロードします。
- php.ini(※)を使用したいディレクトリに次の内容のhtaccessを作成します。
htaccessへの記述はディレクトリ名までとし、php.iniは書きません。
setenv PHPRC /home/11/abc1200/example.jp/mycontents
※ファイル名は必ずphp.iniにしてください。 - phpでBASIC認証行う
- .htmlや.htmのファイルをPHPとして実行する
- その他
- PHPに関するサポートはできませんのでお客様の責任においてご利用ください。
- バージョンアップにともなって大きな変更が発生する場合には事前にお知らせページに掲載いたしますのでお客様自身で影響をご検討いただき、必要な修正を行っていただく必要があります。大きな変更がない場合には特にお知らせはいたしません。
PHP5はCGI版のみのご提供となります。apacheモジュールとして動作する場合
との違いをまとめました。| - | モジュール版(※1) | CGI版 |
|---|---|---|
| 実行権限 | httpd(システム権限) | 客様アカウント |
| php.iniの設定変更 | 不可 | 可能 |
| phpの設定変更 | htaccess(※2) | php.ini(※3) |
| 実行時のメモリー制限 | 8MB(一律に制限) | php.iniで変更 可能(※4) |
| BASIC認証 | 利用できます | 利用可能(※5) |
※1 PHP5のモジュール版はご提供いたしておりません。
※2 当社サーバではhtaccessにphp_value/php_flagsがありますとInternal Server Errorになります。
※3 「1. PHP5(CGI版)を利用するには」をご参照ください。
※4 最大値はCGIの実行制限(30〜40MB)によります。
※5 CGI版でのBASIC認証利用につきましては本ページの「phpでBASIC認証行う」をご覧ください。
赤色のモジュールは
利用する場合にはお客様のphp.iniの末尾に次のように記述を追加してくださ
い。
例) extension=json.so extension=pgsql.so |
試験的導入 → 予告なくシステムから取り除かれる場合のある機能
※ご注意
※1 SQLite(sqlite.so)は他にspl.soとsimplexml.soが必要です。extension=simplexml.so extension=spl.so extension=sqlite.soのように依存するモジュールを先に記述してください。 |
※2 PDOモジュール(pdo_mysql.soなど)も他に依存するモジュールがあります。extension=simplexml.so extension=spl.so extension=pdo.so extension=pdo_sqlite.so (MySQLの場合はpdo_mysql.so)のように依存するモジュールを先に記述してください。 |
機能詳細はphpinfo()
関数で表示することもできます。
PHPにはフォームから入力した文字列の文字コード(漢字コード)を自動的に変換する機能があります。正しく漢字を扱う場合は次のようにphp.iniファイルでPHPの漢字コードを指定してください。
|
【php.iniへの記述例】 |
|
[mbstring] mbstring.http_input
= auto mbstring.internal_encoding
= EUC-JP ←
プログラムに合わせて指定します |
※
文字コードは
EUC-JP、SJISなどが指定できます。
次のようにphp.iniへの記述の追加と、セッション情報保存用ディレクトリの作成が必要です。
モジュール版PHPでhtaccessでの設定を利用してディレクトリ毎にPHPの設定を変更したい場合は次のようにして別のphp.iniを使用することができます。
モジュール版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を使用するように設定した場合は自動的にこの設定が行われます。
index.html など拡張子が.phpでないファイルもPHPのファイルとして扱いたい場合は
htaccessファイルを作成して、その中に次のように記述してください。
| AddHandler php-script .php .htm .html |
※モジュール版PHPとは設定方法が異なりますのでご注意ください。
※この設定はサーバに本来必要のない負荷をかける場合がありますので、必要なディレクトリのみに限定してご利用ください。








