はじめまして。

oop のアクセス違反「Fatal error: Access level to...」の発生条件につい
てどなたか教えていただけると助かります。

php マニュアル下部の「imran at phptrack dot com」書込み
http://php.net/manual/ja/language.oop5.visibility.php
にはメソッドの例としてありますが、下記のようなコードで、「Fatal error:
Access level to...」の致命的エラーが発生する条件(ini 設定?)が分かり
ません。

class a
{
protected $p;
}

class b extends a
{
public $p;
}

私の環境、winxp/apache2/php5.23 や XREA, サクラインターネット, Xserver
等々、多くの環境ではエラーになりません。ただ一部専用サーバ(php5.16)
では、致命的エラーになります。これは単にバージョン間の相違でしょうか?
それとも ini 設定でしょうか?
(バージョン相違の記事からも、ini 設定の記事からも見つけることができませ
んでした)

もしご存じの方がありましたら、url やヒントだけでも頂けると助かります。
どちらか言えば、エラーを扱いした方がセキュアだと思いますし、より汎用
になりますので、今後はそのような環境で開発しようと考えております。