지난 몇 달 전에 마지막으로 테스트했을 때 작동했던 PHP 세션을 디버깅하고 있습니다. 코드는 어떤 식 으로든 변경되지 않았지만 세션은 이제 작동을 멈췄습니다.세션 데이터가 저장되지 않습니다.
다른 기사뿐만 아니라 여기에 여러 질문을 읽었지만이 문제를 해결 한 제안은 없습니다. 나는 내 코드가 정확한지 생각하지만, 내가 Bluehost를에서 지원을 물었을 때, 그들은 그것이 코드 문제가 될 수 있어야합니다 말 :
내가 세션을 시작하고 몇 가지 세션 변수를 설정하고있다 :
<?php
session_start();
$_SESSION["franchise_name"] = $_POST["name"];
$_SESSION["db_name"] = $_POST["name"];
$_SESSION["franchise_location"] = $_POST["franchise_location"];
$_SESSION["franchise_phone"] = $_POST["franchise_phone"];
$_SESSION["franchise_address"] = $_POST["franchise_address"];
$_SESSION["franchise_email"] = $_POST["franchise_email"];
header("Location: session.php"); /* Redirect browser */
exit;
?>
내가 에코 경우를 그것들을 설정 한 직후의 세션 변수는 모두 정상입니다. 좋은 물건. 그래서 나는이 섹션에서 모든 것이 작동한다는 것을 알고 있습니다.
session.php은 다음과 같습니다 :이 테스트 때, 데이터가 세션에 전달되고 있지
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
session_start();
echo 'Testing Output:';
echo session_status();
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
phpinfo();
?>
합니다. session.php의 출력은 다음과 같습니다
Testing Output:2
array(0) {
}
세션 데이터가 활성화 된 경우 나 또한 볼 수있는 테스터를 설정
:
<?php
// Start Session
session_start();
// Show banner
echo '<b>Session Support Checker</b><hr />';
if (!is_writable(session_save_path())) {
echo 'Session path "'.session_save_path().'" is not writable for PHP!<br />';
} else {
echo 'Session path "'.session_save_path().'" is writable for PHP!<br />';
}
// Check if the page has been reloaded
if(!isset($_GET['reload']) OR $_GET['reload'] != 'true') {
// Set the message
$_SESSION['MESSAGE'] = 'Session support enabled!<br />';
// Give user link to check
echo '<a href="?reload=true">Click HERE</a> to check for PHP Session Support.<br />';
} else {
// Check if the message has been carried on in the reload
if(isset($_SESSION['MESSAGE'])) {
echo $_SESSION['MESSAGE'];
} else {
echo 'Sorry, it appears session support is not enabled, or you PHP version is to old. <a href="?reload=false">Click HERE</a> to go back.<br />';
}
}
?>
이 테스트의 결과는 세션 데이터가 작동하지 않았 음을 보여줍니다 여기서도 세션 경로가 실제로 쓰기가 가능하다는 것을 의미합니다. Phpinfo는 세션을 사용할 수 있음을 나타냅니다.
이 문제를 해결할 수있는 다른 방법이 있습니까? 감사.
업데이트 :ini_set ('session.save_path', 'SOME WRITABLE PATH')로 세션 경로를 확인하려고했습니다. 하지만 문제가 해결되지 않았습니다. PHP session_start() 페이지에서
참고 :이 정확한 파일을 bluehost에서 hostgator로 복사했으며 정상적으로 작동합니다.그래서 그것은 호스팅 관련이있는 것으로 보이지만 블루 호스트는 문제를 해결해야한다고 말합니다. 그들에게 무엇을하도록 요구해야하는지 잘 모릅니다. – WilliamAlexander
혹시 다른 요청이 있으십니까? 어떤 경우에는 세션을 시작하는 404 페이지가있었습니다. 내 사이트에는 favicon이 없었고 브라우저가 요청했으며 두 개의 요청이 예기치 않은 동작을하는 서버에 도착했습니다. –
코드는 모두 위에 나열되어 있으므로 그렇게 생각하지 않습니까? – WilliamAlexander