公众号服务开发之—-微信登录(一)
微信登录
微信公众平台的 微信服务号 可以做微信登录。
微信开放平台的 可以做扫描二维码进行微信登录。
但这都有个缺点。
微信公众平台的微信服务号,必须要先关注微信服务号,并在该微信服务号里面进行接口调用并登录。
如果想实现在网页里面直接调用接口,授权登录,这个是不可以实现的。
想要实现这样的操作就要交300元进行微信开放平台认证。并申请“公众号服务开发”
填写一大堆申请表单。终于到了开放阶段。
首先要获取第三方平台access_token
这里需要传三个参数,其中一个是component_verify_ticket
获取这个值需要调用 “推送取消授权通知”
这个值是微信服务器向其“授权事件接收URL”每隔10分钟定时推送component_verify_ticket的
但是这个内容是个加密的,如果需要解密需要再阅读【消息加解密接入指引】
下载微信的Demo改一下配置的参数,上传的服务器运行一下,会出现
Fatal error: Call to undefined function mcrypt_get_block_size() in /web/m.wm18.com/includes/WXGongZhongHaoFuWu/pkcs7Encoder.php on line 81
因为用的是Linux系统。这个时候需要安装mcrypt的扩展。
Linux版本是CentOs
mcrypt的扩展yum包里面没有(命令是yum install libmcrypt libmcrypt-devel mcrypt mhash)。需要用源码编译方式安装。
装这个玩意 花了我大半天时间了。最后终于装上了。
我服务器上php的版本是5.3.3的,其他版本的没试。
(1) 、先下载个libmcrypt 按下面的方法进行安装
#使用wget可以通过以下路径下载
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
#解压
tar -zxvf libmcrypt-2.5.7.tar.gz
#进入目录
cd libmcrypt-2.5.7
#编译(默认安装到/usr/local/lib/)
./configure --prefix=/usr/local/libmcrypt
#执行安装
make && make install
(2) 、然后安装mcrypt。我服务器上php的版本是5.3.3,这个时候需要下载php5.3.3的完整版。这里要注意,如果你的php版本是5.3.3就一定要下载5.3.3的完整版。不能用别的版本里面的mcrypt代替我就是因为用了5.2.9所以没装上,后来才下的5.3.3。
官网上下载php-5.3.3.tar.gz 太慢了,百度找一下。我是百度上找的。 然后解压 进入ext/mcrypt文件夹
[root@*_* 14:45 ~]# cd php-5.3.3/ext/mcrypt/
执行phpize命令(phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块,如果没有?yum install php53-devel里包含了,或者其他方法)
[root@*_* 14:48 mcrypt]# whereis phpize //为了确定phpize存在
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
[root@*_* 14:48 mcrypt]# phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
执行完后,会发现当前目录下多了一些configure文件,最后执行php-config命令就基本完成了
执行以下命令,确保你的/usr/bin/php-config是存在的
[root@*_* 15:02 mcrypt]# whereis php-config
php-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
[root@*_* 15:02 mcrypt]# ./configure --with-php-config=/usr/bin/php-config
如果遇到以下错误,请先安装gcc,命令yum install gcc
configure: error: no acceptable C compiler found in $PATH
如果遇到 configure: WARNING: You will need re2c 0.13.4 or later
解决办法:
wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download
tar zxf re2c-0.13.5.tar.gz && cd re2c-0.13.5
./configure
make && make install
然后再去编译安装Fileinfo,就不会报re2c的错误了.
直到不报错,出现:config.status: creating config.h,执行以下命令
[root@*_* 15:06 mcrypt]# make && make install
最后的最后,会提示你如下,说明你大功告成了
Installing shared extensions: /usr/lib64/php/modules/
顺便检查下/usr/lib64/php/modules/里的mrcypt.so扩展是否已经创建成功
然后的事就简单了,给你的php.ini添加一条extension=mcrypt.so
[root@*_* 15:09 mcrypt]# cd /etc/php.d
创建一个mrcypt.ini文件就行,里面写extension=mcrypt.so
[root@*_* 15:17 php.d]# echo 'extension=mcrypt.so' > mcrypt.ini