我正在使用Abraham/twitterOauth库进行应用程序,在使用xampp和php7.0的Windows 10上正常运行。
在Windows 10上按预期方式进行收藏和转发,但只要我在Linux机器上托管该网站,转发就会停止工作"找不到该ID"的状态。
其他一切在linux上工作正常,发布推文,有媒体和没有媒体,获取时间线和获取用户数据。以上所有工作都不是最喜欢和转推。
目前我正在使用my html中的angular http来调用php脚本
$http.get('php/twitter_calls.php', {
params: {
func: 'favorite',
tweetId: tweet.id
}
}).then(
function (data) {
// success, process data
}),
function (data) {
// failure
console.log("error: ", data);
};
我确信状态ID是正确的,因为它在Windows上正常工作,并且发送的ID与原始ID完全匹配。
我在我的php文件中回复调用
if(isset($_GET['tweetId'])){
$tweetId = intval($_GET['tweetId']);
$response = $twitter->post(
"favorites/create", [
"id" => $tweetId
]
);
var_dump( $response); // debugging. this outputs - see below
if($twitter->getLastHttpCode() == 200){
echo "ok";
}
else{
echo http_response_code(500);
}
}
else{
echo http_response_code(400);
echo "failed to get id";
}
vardump的输出是:
object(stdClass)#139(1){ ["错误"] => array(1){ [0] => object(stdClass)#3(2){ ["代码"] => INT(144) ["消息"] => string(29)"找不到该ID的状态。" } } }
正如我之前提到的,这在Windows上工作正常,但为什么不在Linux上呢?
编辑:Var dumping $ tweetId从提取推文时的id提供相同的输出。
linux机器也在用php7.0运行xampp。还尝试了一个带有apache2和php7.0的覆盆子