PHP에서 본 적이없는 것을 발견했습니다.int의 var_dump가 알려지지 않음 : 0
이 오류 메시지는 다음과 같은 성명을 의미Fatal error: Unsupported operand types in ... on line 41
:
UNKNOWN:0
: 내 스크립트에서 작업하기 전에
$this->lastAction
을 위해서 var_dump 때
if($this->lastAction + 7200 <= time()) {
}
내가 출력을 얻을 내 스크립트가 오류로 중단
전에는 본 적이 없어요. 그리고이 값이 내 변수에 할당 된 위치 나 이것이 일어나는 조건을 상상할 수 없습니다.
이 "가치"가 어디에서 왔는지 힌트 또는 설명이 있습니까?
Object of class stdClass could not be converted to int ... on line 41
하지만 내가 할 수있는 stdClass
인스턴스를 지정하지 :
UPDATE 1
나는 PHP 5.3과 ENV에 같은 설치 프로그램을 실행하면 내가 대신에 오류가 있음을 발견 이 변수.
UPDATE 2
문제가 5.4.28
버전과 동일한 에러 PHP 5.5.19
존재한다.
는 AuthHandler.php
abstract class AuthHandler
{
protected $lastAction;
public function __construct()
{
$this->lastAction = isset($_SESSION['last_action']) ? $_SESSION['last_action'] : time();
if($this->lastAction + 7200 <= time()) {
$this->logout();
}
$this->lastAction = time();
}
public function logout()
{
session_destroy();
session_regenerate_id();
$this->lastAction = null;
}
public function __destruct()
{
$_SESSION['last_action'] = $this->lastAction;
}
}
DBAuthHandler.php
class DBAuthHandler extends AuthHandler
{
// other stuff here
}
어떤 유형이'$ this'입니까? –
은 [gettype()] (http://php.net/manual/en/function.gettype.php)을 사용하여'$ this-> lastAction'의 타입을 출력 할 수 있습니까? – Jerodev
당신의 PHP 버전은 무엇입니까? – sectus