아래 코드를 사용하여 session_set_save_handler를 사용하여 mySQL 데이터베이스 내에 세션을 저장할 수있게하려고합니다.session_set_save_handler wamp crash
페이지를로드 할 때마다 아래 그림과 같이 httpd.exe와 관련된 응용 프로그램 오류가 발생합니다. 나는 다음 줄을 제거하면
http://i48.tinypic.com/2i9l2ip.jpg
페이지는 잘 작동합니다.
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
나는 이것이 내가 어딘가에 내 코드에 오류가 있지만 난 아무것도 볼 수 없다는 것을 의미 추측하고있다. 어떤 도움을 주셔서 감사합니다, 감사합니다.
function sess_open($sess_path, $sess_name) {
return true;
}
function sess_close() {
return true;
}
function sess_read($sess_id) {
$result = dbQuery("SELECT data FROM sessions WHERE id = '$sess_id';");
if (!mysqli_num_rows($result)) {
$CurrentTime = time();
$result = dbQuery("INSERT INTO sessions (id, access) VALUES ('$sess_id', '$CurrentTime');");
return '';
} else {
extract(mysqli_fetch_array($result), EXTR_PREFIX_ALL, 'sess');
$result = dbQuery("UPDATE sessions SET access = '$CurrentTime' WHERE id = '$sess_id';");
return $sess_data;
}
}
function sess_write($sess_id, $data) {
$CurrentTime = time();
$result = dbQuery("UPDATE sessions SET data = '$data', access = '$CurrentTime' WHERE id = '$sess_id';");
return true;
}
function sess_destroy($sess_id) {
$result = dbQuery("DELETE FROM sessions WHERE id = '$sess_id';");
return true;
}
function sess_gc($sess_maxlifetime) {
$CurrentTime = time();
$result = dbQuery("DELETE FROM sessions WHERE access + $sess_maxlifetime < $CurrentTime;");
return true;
}
session_set_save_handler("sess_open", "sess_close", "sess_read", "sess_write", "sess_destroy", "sess_gc");
session_start();
감사합니다. XAMPP를 설치했으며 곧바로 작동했습니다. WAMP에 어떤 문제가 있었는지 확실하지 않지만 지금부터는 XAMPP에 충실합니다. 나는 항상 WAMP가 약간 느린 것으로 느껴졌을뿐 아니라, 특히 mySQL 연결을 사용하여 더 느리게 실행되는 것으로 나타났습니다. – Anthony
해당 서비스의 문제점을 찾는 것이 일반적입니다. 나는 항상 개발 용으로 사용하고 있지만, Windows에서 정말 심각한 PHP 설정을 원한다면, IIS (최신 버전에는 IIS7 이상)에 PHP 호스팅 도구가 있어야합니다. 또는 Linux와 함께 가상 시스템을 설치해야합니다. – Palantir
덧붙여서 :이 대답이 도움이 되었다면, 그것을 받아 들여야합니다 (왼쪽의 V 기호를 클릭하십시오). 또는 적어도 upvote (위쪽 화살표 누르기). 그것은 "고맙습니다"라고 말하고 질문에 대답했다고 말하는 것입니다. – Palantir