パーソナルツール

お知らせ

ホームページサービス(松・竹サービス)でのPHPのバージョンアップについて

2006年11月14日 (火曜日) 掲載

ホームページサービス(松・竹サービス)利用者各位

セキュリティ強化のため下記の日時でPHPのバージョンを4.3.11から
4.4.4にバージョンアップいたします.
それに伴い,サービスを一時停止しますので,ご連絡いたします.

日時:平成18年11月20日(月曜日)午前9時 ~ 約1分程度の停止

なお,バージョンアップに伴い,次のようなエラーメッセージが出る場合が
ございますのでご注意下さい.

簡単な説明を以下に述べますので,参考にして下さい.

・PHP4.4.0から定数値への参照の仕様が変更されました.
 参照を返す関数の場合,受け取る側で値を代入するように記述すると,
 Noticeが出ます(例1).また逆に,値を返す関数で参照を代入するように
 記述すると,Noticeが出ます(例2).

(例1)
<?php
function &foo() {
  return "foo";
}
$bar = foo();
?>

(例2)
<?php
function foo() {
  return "foo";
}
$bar =& foo();
?>


例1・例2の場合,ともに以下のようなメッセージが出ます.
PHP Notice: Only variables should be assigned by reference in ...

また,array関数や,new で作成したオブジェクトを参照で返す場合も
同様のメッセージが出ます.

<?php
function & foo() {
return array("foo");
}
$bar = foo();
?>

この現象を回避するには,以下の例のように戻り値を一度変数に代入してください.

<?php
function & foo() {
$bar = array("foo");
return $bar;
}
?>

いずれの場合も,ホームページサービスでは,PHPの設定でエラーメッセージを
表示しないようにしています(display_errors=off)ので,通常はこれらのメッ
セージはブラウザには表示されませんが,デバッグのために,この設定を変更さ
れている利用者はご注意ください.

詳細については次のページを参考にしてください.

PHP 公式サイトの修正点の掲載
http://www.php.net/ChangeLog-4.php
PHP マニュアル リファレンスを返す
http://jp.php.net/manual/ja/language.references.return.php

お問い合わせ 京都大学 情報環境部 情報基盤課 学術情報基盤グループ