Godaddy php会话无法正常工作

时间:2016-03-17 09:23:39

标签: php .htaccess session session-variables

我遇到的问题是PHP会话在上传到godaddy(linux)托管环境时返回错误的值。这在我的wampserver(Windows 10)上本地工作绝对没问题。我只是想尝试使用Abrahams推特库,并且如上所述在本地工作。

代码非常简单: 2个档案, 的index.html:

<?php
error_reporting( E_ALL ); 
session_save_path('/home/aureagle/public_html/sgorilla.com/sessions');
session_start();

echo "<br>" . session_save_path() . "<br>";

require "twitteroauth/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

define('CONSUMER_KEY', 'xxx');
define('CONSUMER_SECRET',     'yyy');
define('OAUTH_CALLBACK', 'http://www.sgorilla.com/report.php');

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);

$request_token = $connection->oauth('oauth/request_token',     array('oauth_callback' => OAUTH_CALLBACK));

$_SESSION['oauth_token'] = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];

$url = $connection->url('oauth/authorize', array('oauth_token' => $request_token['oauth_token']));  
?>

...

点击的网址:

然后在用户从twitter返回后,调用report.html:

<?php
error_reporting( E_ALL ); 
session_save_path('/home/aureagle/public_html/sgorilla.com/sessions');
session_start();

var_dump($_SESSION);
echo "<br>";

echo "<br>" . session_save_path() . "<br>";

require "twitteroauth/autoload.php";

use Abraham\TwitterOAuth\TwitterOAuth;

define('CONSUMER_KEY', 'xxxx');
define('CONSUMER_SECRET', 'yyyy');

$request_token = [];
$request_token['oauth_token'] = $_SESSION['oauth_token'];
$request_token['oauth_token_secret'] = $_SESSION['oauth_token_secret'];

if (isset($_REQUEST['oauth_token']) && $request_token['oauth_token'] !==    $_REQUEST['oauth_token']) {
// Abort! Something is wrong.
echo "<br>abort!";
}

_SESSION与之前完全不同,完全错误的auth值。我花了几个小时检查路径,更改路径,清除会话,删除会话 - 所有种类但由于某种原因会话不同。

Godaddy支持无法帮助(刚下电话)我已经花了一整天的时间。

有人可以给我一些建议吗?非常烦人的事情很简单,无法正常工作。

会话保存路径是/ tmp,将其更改为指定的路径不会改变任何内容(我确实看到会话出现,但奇怪的是在短暂的延迟之后是可疑的)。

正如您可以从脚本中看到的那样,Abort每次都会输出,因为值不会匹配。

关于下一步该尝试的任何想法?我也试过删除会话文件,但似乎没有任何区别。

TIA!

0 个答案:

没有答案