これが PHP の正しい動作であるかどうかを誰かが説明できますか? session_start() が false を返し、session_name に不正な文字が含まれているという警告が表示されることを期待していました。
再現するコード:
<?php
session_name('m m');
var_dump(session_start());
if(!isset($_SESSION['count'])) {
$_SESSION['count'] = 0;
}
else {
$_SESSION['count']++;
}
echo session_name();
echo $_SESSION['count'];
一度実行します:
bool(true) m m0
ページをリロード:
bool(true) m m0
あるべきでした(セッションが機能していた場合):
bool(true) m m1
session_start()
セッションが開始されたことを示す true を返します。は$_SESSION['count']
機能しないことを示します。セッション名の不正な文字に関する警告はありません。
マニュアルページにはヒントも、セッションで有効な文字の定義も見つかりません。