关于微信公众号消息发送与接收问题
路由器:
Route::resource('wechat', 'WechatController');
控制器里:
public function __construct()
{
$this->beforeFilter('wechat', array('on' => 'get|post'));
}
public function store()
{
$message = file_get_contents('php://input');
$message = simplexml_load_string($message, 'SimpleXMLElement', LIBXML_NOCDATA);
return $message->Content;
}
只写了这两个,其他都为空;
过滤器里:
Route::filter('wechat', function(){
// 获取到微信请求里包含的几项内容
$signature = Input::get('signature');
$timestamp = Input::get('timestamp');
$nonce = Input::get('nonce');
// weixin 是我在微信后台手工添加的 token 的值
$token = 'weixin';
// 加工出自己的 signature
$our_signature = array($token, $timestamp, $nonce);
sort($our_signature, SORT_STRING);
$our_signature = implode($our_signature);
$our_signature = sha1($our_signature);
// 用自己的 signature 去跟请求里的 signature 对比
if ($our_signature != $signature) {
return false;
}
});
开发者中心:
url:http://laravel1.qijiancms.com/wechat
token:weixin
其他都是默认,或者是自动生成的
启用可以启用成功!
但是当我关注微信公众号,在里面发信息没有信息回复,检测没有执行到store那个方法里面去,请问这是什么原因?求大神指教!
Route::resource('wechat', 'WechatController');
控制器里:
public function __construct()
{
$this->beforeFilter('wechat', array('on' => 'get|post'));
}
public function store()
{
$message = file_get_contents('php://input');
$message = simplexml_load_string($message, 'SimpleXMLElement', LIBXML_NOCDATA);
return $message->Content;
}
只写了这两个,其他都为空;
过滤器里:
Route::filter('wechat', function(){
// 获取到微信请求里包含的几项内容
$signature = Input::get('signature');
$timestamp = Input::get('timestamp');
$nonce = Input::get('nonce');
// weixin 是我在微信后台手工添加的 token 的值
$token = 'weixin';
// 加工出自己的 signature
$our_signature = array($token, $timestamp, $nonce);
sort($our_signature, SORT_STRING);
$our_signature = implode($our_signature);
$our_signature = sha1($our_signature);
// 用自己的 signature 去跟请求里的 signature 对比
if ($our_signature != $signature) {
return false;
}
});
开发者中心:
url:http://laravel1.qijiancms.com/wechat
token:weixin
其他都是默认,或者是自动生成的
启用可以启用成功!
但是当我关注微信公众号,在里面发信息没有信息回复,检测没有执行到store那个方法里面去,请问这是什么原因?求大神指教!
1 个回复
qufo
赞同来自:
include(D:/..../app/controllers/WechatController.php): failed to open stream: No such file or directory
这样当然执行不到 store