php汇总 (18)

很多公司为了快速的开发出一款产品,降低成本,往往会采用一些开源的产品来完成,一款好的开源产品可以起到事半功倍的效果,我们只需要在它的基础上做些二次开发,就可以达到我们想要的简单的效果。但是,往往这些开源产品也有自己的弊端。

比如我以前用过的ecshop:产品线不完整,只有单用户产品,后台操作过于烦杂,无用功能比较多,使用起来有很多BUG和不便,系统功能相对薄弱,运营起来很费人力成本。被商派收购之后,宣传推广也停滞不前。而且是面向过程的,你必须按照它的规则进行修改,操作起来相对很繁琐。对PHP5.4以上的版本支持不好,jQuery的兼容性上要好好处理。

PHPCMS:静态处理不好,SEO有待加强,访问速度也较慢。

Shopex:代码不开源,修改很麻烦,只能通过插件的方式去改进,底层是不知道的,有漏洞更新也是很慢,当数量达到一定量的时候shopex很吃内存服务质量也不好,基本用户提的意见,很难被有效采取。最头疼的是他的后台操作,易用性很差,前台模板也不好看。并且系统各方面的压力承受能力都有不足。

系统出了问题也只能等待解决,有受制于人的感觉。

总之,使用别人成型的东西,就要遵循别人的规范,责任在于自己。

87 、做秒杀用什么数据库,怎么实现的。
   因为秒杀的一瞬间,并发非常大,如果同时请求数据库,会导致数据库的压力非常大,导致数据库的性能急剧下降,更严重的可能会导致数据库服务器宕机。这时候一般采用内存高速缓存数据库redis来实现的,redis是非关系型数据库,redis是单线程的,通过redis的队列可以完成秒杀过程。 88 、支付宝流程怎么实现的

首先要有一个支付宝账号,接下来向支付宝申请在线支付业务,签署协议。协议生效后有支付宝一方会给网站方一个合作伙伴ID,和安全校验码,有了这两样东西就可以按照支付宝接口文档开发支付宝接口了,中间主要涉及到一个安全问题。整个流程是这样的:我们的网站通过post传递相应的参数(如订单总金额,订单号)到支付页面,支付页面把一系列的参数经过处理,以post的方式提交给支付宝服务器,支付宝服务器进行验证,并对接收的数据进行处理,把处理后的结果返回给我们网站设置的异步和同步回调地址,通过相应的返回参数,来处理相应的业务逻辑,比如返回的参数代表支付成功,更改订单状态。

89、什么是单点登录?

单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。

什么情况下使用缓存

当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把 ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。

实现主要技术点:

1、两个站点共用一个数据验证系统

2、主要通过跨域请求的方式来实现验证及session处理。

90、怎么实现第三方登录?

第三方登陆主要是基于author协议来实现,下面简单说下实现流程:

1、首先我们需要以开发者的身份向第三方登陆平台申请接入应用,申请成功后,我们会获得一个appID和一个secrectID.

2、当我们的网站需接入第三方登陆时,会引导用户跳转到第三方的登陆授权页面,此时把之前申请的appID和secrectID带给登陆授权页面。

3、用户登陆成功后即得到授权,第三方会返回一个临时的code给我们的网站。

4、我们的网站接受到code后,再次向我们的第三方发起请求,并携带接收的code,从第三方获取access_token.

5、第三方处理请求后,会返回一个access_token给我们的网站,我们的网站获取到access_token后就可以调用第三方提供的接口了,比如获取用户信息等。最后把该用户信息存入到我们站点的数据库,并把信息保存到session中,实现用户的第三方登陆。

91、压力测试是在什么环境下做的?

环境分为开发环境和线上环境,我们做测试是在开发环境上进行测试的,只有测试通过了才会上线。

92、App数据是怎么来的

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpyyp.html