解决ecshop支付宝已付款但后台显示“未付款”的异步问题

解决ecshop支付宝已付款但后台显示“未付款”的异步问题
用的是大商创的系统,但使用的是ecshop的核心,在购买了商品付款成功之后,后台却显示未付款,说明支付宝异步返回并没有成功,寻找了一些可解决的方案,自己用的是线上的测试环境81端口,有可能跟这个有关系,支付宝的支付返回接口应该是不支持80以外的端口的,更何口网址之后还带有81端口了,遂直接使用线上正式环境进行测试,一切OK。 如果依然没有异步返回成功的话,还有一种可能就是respond.php文件。...

php多维数组怎么转换成一维数组

php多维数组怎么转换成一维数组
php数组在php项目中用得频率算是比较高的了,但凡稍微有点复杂的应用,都能见到数组的身影,目前项目中遇到的一个问题,是有多个队列文件,转换成了多维数组,但是我需要post到接受页面的是一维数组,这样更好处理一些, 操作php数组应用最多的就是 foreach 循环函数了,通过各种的循环最后组合成一维数组,因为多维数组都是不确定的,有可能第一个是三维或四维,第二个是二维,这样的话仅使用 foreach 是...

关于php接口中要验证的app_key

关于php接口中要验证的app_key
相信不少的用户都接触过php接口中的app_key,这只是一个验证的token,这个小程序到底是干什么用的呢,是要验证php接口权限的,在我们开发项目越来越庞大的时候,php接口就会越来越多,之前只要post数据就可以直接使用接口,导致一个项目被人改了商品的补贴金额,我们知道,如果一个php的接口不去做权限验证的话,任何人如果能猜测到接口的位置,都会加以利用,从而达到自己的目的。 所以像一些大型互联网开...

关于php守护进程的配置及实例

关于php守护进程的配置及实例
其实守护进程看起来很复杂的样子,其实做起来也是很简单的,前文已经写到了,其实就是一个死循环而已,程序代码不难,重点在于php守护进程的配置文件有点麻烦,想要理解起来确实要费一点脑劲,我用的是tp系统,所以首先需要先搞一个配置文件,在根目录下新建一个 webservice 文件夹,入口文件为 index.php,这个就不用说了。 另外还有两个文件,一个是 webservice.php,主要是php守护进程的一些function方...

关于PHP的守护进程与实例

关于PHP的守护进程与实例
在php中,如果需要在某一段时间之内执行某一段逻辑代码的话,我们直接写定时脚本就可以了,但如果需要时时刻刻同步数据的话,这个时候再使用php定时脚本就显得有些吃力了,需要我们设置定时的脚本极期的短,短到秒扫表去执行,其实像这种实时同步数据的问题,我们还可以使用php的守护进程,也是我最近刚刚接触到的,说得直白一些,php守护进程就是一个死循环,比如我们要扫一个表,只要不触发停止命令,它...

ecshop手动执行定时脚本

ecshop手动执行定时脚本
有段时间没怎么写关于ecshop系统文章了,因为最近一直在开发tp系统了,大多数的开发都在tp平台之上,不过最近要做一个商城嵌入到app软件里面,所以又重新开启了ecshop系统的开发,目前正在做一个同步订单的接口,除了可以使用定时脚本之外,客服部还希望可以在后台点击同步提交执行的功能,其实很简单,无非就是把定时任务的功能做成了手动而已。 ecshop有自己的一套定时脚本规则,只是研究起来费劲一点,...

关于thinkphp中redis增删改查的操作

关于thinkphp中redis增删改查的操作
项目里面早就已经使用了redis的技术,本来早就想简单总结一下,苦于一直没有时间去做这件事情,今天把简单的redis作为一个笔记记录一下,这里仅限于自己查阅资料,之前在番茄博客里面已经写了redis在thinkphp里面的配置,配置好之后,我们还需要写一个关于redis缓存的类,这个类网上有许多成型的,直接下载下来就可以了,这里不再阐述了,回头有时间的话,再来分享类文件。 之前分享的redis分享文件:https...

php进行支付宝开发中return_url和notify_url的区别分析

php进行支付宝开发中return_url和notify_url的区别分析
这篇文章主要介绍了php进行支付宝开发中return_url和notify_url的区别,较为详细的分析了return_url和notify_url的区别与用法,需要的朋友可以参考下. 本文实例分析了php进行支付宝开发中return_url和notify_url的区别。分享给大家供大家参考。具体分析如下: 在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介...

Fatal error: Call to undefined function openssl_pkey_get_private()

Fatal error: Call to undefined function openssl_pkey_get_private()
同样是支付宝接口的问题,我们知道在PHP程序中使用支付宝或者是微信支付接口时,通常都会有其私钥或者公钥文件,如果不能够正常加载的话就会出现错误,而支付宝接口则是使用的openssl打开私钥的模式,这就需要在PHP.INI里面去配置一下OPENSSL了,否则的话就会出现如下错误: Fatal error: Call to undefined function openssl_pkey_get_private() 很显示,没有发现 openssl_pkey_get_private 这个函数,其实...

关于支付宝错误代码 ILLEGAL_SIGN的解决

关于支付宝错误代码 ILLEGAL_SIGN的解决
下载了支付宝接口demo文件,在本地测试正常,但是一旦把配置文件放到项目里面的时候却出现了 调试错误,请回到请求来源地,重新发起请求。错误代码 ILLEGAL_SIGN。 在网上查了一下,原来支付宝的接口是过程化,它里面都是html和php混编,我们只要看其 demo 文件是可以看出来的,在html的头部声明了字符集,所以支付宝demo接口传递的都是其utf-8模式正常,而我的项目使用的是mvc架构,没有声明字符集,导致...

nginx如何配置兼容ThinkPHP各种url模式

nginx如何配置兼容ThinkPHP各种url模式
我们知道ThinkPHP是有多种访问模式的,比如较常用的普通模式以及rewrite模式,也就是网址 /index.php?m=Zhonglian&c=Index&a=register 以及 网址 /DailiUser/alipay_notify_url,这两种模式用得比较多了。 为什么要做多种兼容呢,因为最近做了支付宝的回调,而支付宝是不认第一种模式的,只能使用 rewrite 模式,而我本地使用的是 nginx 服务器,所以需要在 nginx里面去做一下兼容配置了,配置的方法也很简...

ThinkPHP读出不重复的列表

ThinkPHP读出不重复的列表
Thinkphp去除重复的数据,找了半天的手册以及搜索了许多的资料都没有能够解决,本来想到先把读取的列表转化成数组,然后从数组里面去剔除,但是也比较麻烦,因为目前需要做一个区域人数的计算,也就是把重复的数据显示给去除掉,最后的解决还是在CDSN上面遇到大神给解决了。 Thinkphp一共提供了两个函数,一个是 distinct,一个是 group,其中使用 group实现了计算不重复数据的功能。 1 去除重复数据 disti...

Thinkphp使用setField更新多个字段

Thinkphp使用setField更新多个字段
在使用 Thinkphp中,setField是使用较多的一个函数,我通常是使用这个函数来更新单个字段的,非常好用,这天突然想到能否使用 setField更新多个指定字段,当然更新多个字段的话还是建议使用 save,这里仅为学习一下setField 的多个用法。 先看一下setField单个字段的更新,就很简单了,如下: public function update(){       header("Content-Type:text/html;...

php怎样保留两位小数且不四舍五入

php怎样保留两位小数且不四舍五入
记得之前因为项目的需求,做过一个php保留一位小数的算法,不过后来经过测试,并不起作用,还是会四舍五入然后保留一位小数,现在基本已经确定不管是使用 number_format 函数还是使用 sprintf 函数都是会四舍五入的,之前的文章是如下网页。 https://www.xiaoxueboke.com/article/4366.html 而最近的需求是一定要保留两位小数,并且不四舍五入,比如5.55923,使用php处理之后就是5.55,而不是5.56,好了,...

PHP页面文件怎么发送POST请求

PHP页面文件怎么发送POST请求
在做PHP接口的时候,是需要使用GET或者POST提交数据,然后远程服务器返回return值,提交数据我们通常使用的是form表单或者jquery的方式进行提交,可以同步获取到接口返回的数据,不过最近遇到一个需要PHP文件页面直接POST过去的问题,这样的操作其实是很少的,通常能解决的话都是直接form表单提交过去,既然遇到了,哪就来解决一下吧。 需求是这样的,A网站是购物网站,B网站是一个普通站点,且有用户余额...

thinkphp返回Json的数据格式

thinkphp返回Json的数据格式
最近一直在写app的接口,我们知道用php写接口文件,基本上返回给服务端都是 Json 数据了,因为这样的数据使用 Js 更好处理一些,通常情况下,app端使用什么文件,我们直接写控制层或者是model层实现相应的功能,然后再json过去就ok了。 今天竟然发现tp自带有可以返回json数据的功能,虽然暂时用不到,但还是先记录一下吧。 thinkphp返回Json数据格式: //编写类方法用$this->ajaxReturn()返回数据&nbs...

ThinkPHP访问不存在的模块跳到404页面

ThinkPHP访问不存在的模块跳到404页面
我们来介绍一下关于ThinkPHP访问不存在的模块跳到404页面,有需要的朋友可参考参考,在ACTION中新建一个文件EmptyAction.class.php,文件中的代码如下: <?php     class EmptyAction extends Action{        function _empty(){            header("HTTP/1.0 ...

thinkphp3.2.3 redis缓存配置

thinkphp3.2.3 redis缓存配置
在thinkphp3.2中配置redis还是比较简单的,目前项目已经全面支持redis了,查看redis缓存文件使用的是 RedisStudio-en-0.1.5 工具,很方便,可以查看目前已经缓存了的数据,这里主要看一下redis在tp的入口文件是怎样配置的。 在thinkphp中需要使用到redis缓存,那么我们需要先做准备工作. 1.获取redis缓存驱动,要求安装phpredis扩展:http://github.com/nicolasff/phpredis. 2.在conf配置参数:  //Red...

php怎样保留一位小数,包括0

php怎样保留一位小数,包括0
PHP提供了诸多的函数,有了PHP函数之后,许多功能都可以简化处理了,不需要写更多的自定义函数了,不过最近写的一个功能在PHP手册中找了N久,都没找到相应的函数可以解决需求,就是有怎么一组两位或更多位数的小数,但只需要保留其一位就可以了。 PHP里面倒是有一个number_format的函数,但这个函数是自动四舍五入的,而我这里不需要四舍五入,其实解决的方法也简单,先使用 sprintf 函数控制浮点数的格式...

PHP Notice: undefined index原因与解决办法

PHP Notice: undefined index原因与解决办法
在php开发时可能会碰到如PHP Notice: undefined index这种错误提示,如 $_GET['aa']; 就会出现PHP Notice: undefined index ‘aa‘了。 下面我来总结出现PHP Notice: undefined index 解决办法。 1、php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE 2、加个isset函数 isset($_GET["page"]) if-else判断 还有一个办法就是自定一个函数,这样就直接使用函数操作,代码如下: function _get($str){&n...