PHP4.2/PHP4.4サポートは2008年11月末日にて提供終了となりました.PHP機能につきましては引き続き PHP5サポートにて対応させていただきます.この文書はお客様がPHP4.2/4.4およびPHP5のバージョン間の 差異を確認する際に情報として利用できるよう一定の期間掲示を継続させていただきますが, 現在稼働しているPHPバージョンは5となりますので,そちらの仕様の確認につきましてはPHP5の 仕様ページを確認いただけますようお願いいたします.

この仕様はスタンダード、パワー、ビジネスサービス用のものです。それ以外のサービスでは仕様が異なりますので、ご注意ください。記載されていないサービスにつきましては契約者管理メニューより正規のマニュアルの仕様解説ページへアクセスしてください。

▼グローバル変数問題への対応
http://www.php.gr.jp/history/release_4_1_0.html (セキュリティ:新しい入力方式)

PHP 4.1.0 より、PHP のグローバル変数扱い仕様を把握しないまま、プログラマのグローバル変数の扱いの失敗により潜在的なセキュリティホールを生み出しやすい問題への対応として、上記のような新しいメカニズムが導入されました。
上記説明にもある通り、 register_globals を Off にすることが最も望ましいのですが register_globals が On であることを前提としているアプリケーションが多くあり、互換性への対応のため弊社では register_globals を On のままにしています。
プログラマは register_globals による PHP における グローバル変数登録により外部から汚染された値を採用しないように十分気をつけてコーディングする必要があります。

また、以下のような新しい入力方式を使ったコードを書くことを推奨されています。

$_GET - GETを通じて送信された内容が格納されます
$_POST - POSTを通じて送信された内容が格納されます
$_COOKIE - HTTPクッキーの内容が格納されます
$_SERVER - サーバ変数の内容が格納されます(例:REMOTE_ADDR)
$_ENV - 環境変数が格納されます
$_REQUEST - GET, POST, クッキーの内容が格納されます。言い換えますと、ユーザから送信された全ての情報ということです。セキュリティ的側面 から見ると必ずしも信頼できるものではありません。
$_SESSION - セッションモジュールにより登録された内容が格納されます

こういったことから、弊社でも将来的にはregister_globals Off にする可能性があります。


▼mbstring/mbregex 機能
弊社PHP4では、日本語の扱いを容易にするため、PHP 4.0.6 よりサポートされた mbstring および 外部提供モジュール mbregex を組み込んでいます。
機能の既定値は以下のように設定されています。(これらは、ini_set 関数でユーザ側である程度の変更が可能です。(後述)

Multibyte (Japanese) Support enabled
http input encoding translation enabled

DirectiveDefaultValue
mbstring.detect_orderauto
mbstring.http_inputauto
mbstring.http_outputSJIS
mbstring.internal_encodingEUC-JP
mbstring.substitute_characterno value

mbregex
DirectiveDefaultValue
mbregex.encodingEUC-JP

mbstring.http_output をあらかじめ SJIS に設定しておりますが、 標準では、出力には変換ハンドラを経由しないように設定にしておりますので、基本的に 日本語は、PHP4 を記述したコード(およびPHP4 内での内部扱いコードに設定してあるEUC のまま出力されます。 変換ハンドラを経由しないのは、互換性などの事由におきますものです。 ユーザが PHP4 に、出力時に自動的に出力をシフトJISにしたい場合には、コード内で変換ハンドラを利用するようにコーディングする必要があります。

※ なお、PHP4 においてコード自体は EUC で書くことが必須となっています。 あらかじめコードをシフトJISで書くことは、PHP4 において導入された Zendパーサ の対応が不十分のためかなり高い確率で誤動作の引き金となりますので 推奨されておりません。

▼エラーレポート
データベース接続時や、ファイルオープン時などに発生するようなエラーはエラーレポートとして通常実行されるブラウザに結果としてレポートされます。

エラー発生時にブラウザへのレポートがふさわしくない場合、ini_set 関数により"display_errors"を "Off" に設定することで出力を抑制することが可能です。

▼動作カスタマイズ
PHP4 より、ini_set 関数を使うことでユーザがある程度の動作をカスタマイズすることが出来るようになりました。 ini_set 関数で変更することが出来る php 動作の設定は以下のようなものがあります。
http://www.php.net/manual/ja/function.ini-set.php
※ PHP_INI_ALL のもののみ。
※ PHP_INI_ALL のものでもPHPの仕様により有効にならないものもあります。
  有効性を十分検証した後ご利用ください。

これにより、ユーザは PHP3 のときに比べ PHP の動作をカスタマイズ出来るようになりましたが、誤ったカスタマイズは、そのユーザのセキュリティホールに結びついたり動作に多大な影響を与えることがあるため、十分注意して利用するようにしてください。
このカスタマイズに関するサポートおよび動作保証は、弊社では行いません。
またカスタマイズによっておきる不都合や一切の損害に関しては当社は責任を負いかねます。自己責任でのご利用をお願いいたします。

▼GD機能
弊社PHP4では、GD 機能をサポートしています。 GD 2.0.28 をベースに弊社にてPHP4用に最適化したバージョンのgdライブラリをphp4に直接組み込む形で実装しています。 この実装方式により、弊社サーバに入っている標準のgdライブラリ(1.3)に影響されることなくphp4 において 最新のgd機能がサポートされます。 また、このバージョンのGDは、gif イメージの操作もサポートされています。

弊社PHP4 の GD機能でサポートされている特徴。
・ PHP4 の GD 機能における PNG イメージ操作関数
・ PHP4 の GD 機能におけるJPEG イメージ操作関数
・ PHP4 の GD 機能におけるGIF イメージ操作関数
・ TrueType フォントを利用したイメージへの日本語文字列の埋め込み。

▼日本語組み込み

日本語組み込みについては TTF 出力のみ対応しています。 弊社であらかじめ用意してあるTTF フォントは次の通りです。

/usr/local/share/fonts/ttf/sazanami-gothic.ttf フリーな日本語TrueTypeフォント(ゴシック)
/usr/local/share/fonts/ttf/sazanami-mincho.ttf フリーな日本語TrueTypeフォント(明朝)

フォントライセンスの都合で弊社で用意しているフォントは上記の2つのみとなりますが、ユーザがライセンス的な問題をクリアしている場合、ユーザ領域に TrueType フォントをコピーしてそちらをユーザーが任意で指定することも可能です。
※ 旧来よりフリーな日本語フォントとして幅広く利用されていました wadlab-gothic.ttf, watanabe-mincho.ttf につきましては保守上の問題がありましたため,互換性のためファイル名は保持し,それぞれ さざなみフォントのエイリアスとなるようにしています。

▼phpinfo機能
インストールされている PHP4 のスペック詳細を知りたい場合には、phpinfo 関数を利用して確認してください。




Copyright Admiral System Inc. All rights reserved.