支付宝外部商家接口中的return_url和notify_url

return_url:
1、同步返回接口,作为参数传递给支付宝
2、用户付款成功后,从支付宝跳转到这个页面
3、在这个页面中加入相关业务处理,比如更新记录,标记付款成功信息。
4、需要对支付宝传递过来的签名进行认证。
5、用来展现成功付款信息给前台付款用户。
6、支付宝那边只返回一次。
notify_url:
1、异步通知接口,作为参数传递给支付宝。
2、如果不传递,则不通知。
3、相关业务逻辑应该和return_url中相同。
4、返回字符串”success”或者”fail”,不能带有任何HTML信息。
5、付款成功后就通知一次,如果不成功,1分钟、3分钟、10分钟、半个小时。。。后再通知,直到返回success。
6、过期时间是48小时,如果48小时内都通知不成功,那么就不再通知。
掉单:支付宝付款成功,但是没有收到成功的返回信息。
如果不传递notify_url,掉单率在20-30%,准备和alipay对账吧。
notify_url可以保证99.99%的通知成功率。

Apache突然出现异常(Too many errors in select loop)

很久没重启了,结果重启下,WEB打开就卡在哪,你等了N久还是空白,立即重启Apache,还是一样。马上查看日志:
[Fri Mar 13 19:30:07 2009] [notice] Child 1996: Child process is exiting
[Fri Mar 13 19:30:08 2009] [notice] Parent: child process exited with status 0 — Restarting.
[Fri Mar 13 19:30:08 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.5 configured — resuming normal operations
[Fri Mar 13 19:30:08 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Mar 13 19:30:08 2009] [notice] Parent: Created child process 2012
[Fri Mar 13 19:30:08 2009] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Child process is running
[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Acquired the start mutex.
[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Starting 250 worker threads.
[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Listening on port 80.
[Fri Mar 13 19:30:08 2009] [error] (OS 10038)An operation was attempted on something that is not a socket.  : Too many errors in select loop. Child process exiting.
[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Exit event signaled. Child process is ending.
[Fri Mar 13 19:30:09 2009] [notice] Child 2012: Released the start mutex
[Fri Mar 13 19:30:09 2009] [notice] Child 2012: All worker threads have exited.
[Fri Mar 13 19:30:09 2009] [notice] Child 2012: Child process is exiting
[Fri Mar 13 19:30:09 2009] [notice] Parent: child process exited with status 0 — Restarting.
[Fri Mar 13 19:30:09 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.5 configured — resuming normal operations
[Fri Mar 13 19:30:09 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Mar 13 19:30:09 2009] [notice] Parent: Created child process 748
[Fri Mar 13 19:30:09 2009] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Mar 13 19:30:10 2009] [notice] Child 748: Child process is running
[Fri Mar 13 19:30:10 2009] [notice] Child 748: Acquired the start mutex.
[Fri Mar 13 19:30:10 2009] [notice] Child 748: Starting 250 worker threads.
[Fri Mar 13 19:30:10 2009] [notice] Child 748: Listening on port 80.
[Fri Mar 13 19:30:10 2009] [error] (OS 10038)An operation was attempted on something that is not a socket.  : Too many errors in select loop. Child process exiting.
[Fri Mar 13 19:30:10 2009] [notice] Child 748: Exit event signaled. Child process is ending.
[Fri Mar 13 19:30:11 2009] [notice] Child 748: Released the start mutex
[Fri Mar 13 19:30:11 2009] [notice] Child 748: All worker threads have exited.
[Fri Mar 13 19:30:11 2009] [notice] Child 748: Child process is exiting
[Fri Mar 13 19:30:11 2009] [notice] Parent: child process exited with status 0 — Restarting.
[Fri Mar 13 19:30:12 2009] [notice] Apache/2.2.11 (Win32) PHP/5.2.5 configured — resuming normal operations
[Fri Mar 13 19:30:12 2009] [notice] Server built: Dec 10 2008 00:10:06
[Fri Mar 13 19:30:12 2009] [notice] Parent: Created child process 4996
[Fri Mar 13 19:30:12 2009] [notice] Disabled use of AcceptEx() WinSock2 API
[Fri Mar 13 19:30:12 2009] [notice] Child 4996: Child process is running
[Fri Mar 13 19:30:12 2009] [crit] (OS 10022)An invalid argument was supplied.  : Child 4996: setup_inherited_listeners(), WSASocket failed to open the inherited socket.
[Fri Mar 13 19:30:12 2009] [crit] Parent: child process exited with status 3 — Aborting.
这样的日志一直在不断的增长,Apache一直在重启。仔细看看,问题出现在这:
(OS 10038)An operation was attempted on something that is not a socket. : Too many errors in select loop. Child process exiting.
是Winsock这出了问题,把Winsock重启恢复下。
netsh winsock reset
然后重启下Apache,再打开Web看下,OK了。

本地phpMyAdmin访问远程Mysql数据库

配置好本地PHP环境,下载phpMyAdmin

一、下载phpMyAdmin

http://www.phpmyadmin.net/home_page/index.php

二、修改libraries文件夹下的config.default.php文件

1、查找$cfg[‘PmaAbsoluteUri’] ,将其值设置为你本地的phpmyadmin路径

2、查找$cfg[‘Servers’][$i][‘host’] , 将其值设置为你mysql数据库地址,例如127.0.0.1

3、查找$cfg[‘Servers’][$i][‘user’] , 将其值设置为你mysql数据库用户名,例如admin

4、查找$cfg[‘Servers’][$i][‘password’] , 将其值设置为你mysql数据库密码,例如admin

三、在本地访问phpmyadmin 可查看远程mysql数据库,phpMyAdmin 3.3.1只需要修改 $cfg[‘Servers’][$i][‘host’]的值,用户名密码 访问phpmyadmin时输入。

也可以只修改libraries目录下的config.default.php
文件中的AllowArbitraryServer为真即可($cfg[‘AllowArbitraryServer’] = true;)

简单说说macbook air/pro外接显示器的显示模式及设置

最近发现有部分朋友都在问外接显示器的相关问题,但是似乎没有太多的介绍,就我自己的体会简单说说,说错的话希望指出,不太会编辑,大家见谅!。

这里说的外部显示器既包括显示器又包括投影、电视等。

macbook外接显示器显示方式据我所知有四种情况:

1、合盖模式
就是只使用外接显示器显示,笔记本显示器不显示同时可以合上盖使用。显示性能上来看,这种显示模式是最大化利用显卡,显卡可以专注于外在显示器,所以显示效果是最好的,同时显示器不工作,对合盖后的散热又一定帮助,是外接显示器最普遍的应用。

2、镜像模式
就是笔记本显示器和外接显示器都同时显示同一个完整画面,笔记本合盖则进入睡眠状态。显示性能上来看,这种显示模式需要显卡分配资源在两个显示器上同时显示,所以显示效果是最差的,一般运用在交流、讲课、会议上对显示效果没有太大要求的场所。

3、扩展模式
就是同一个画面分别扩展到两个以上显示器上显示,可以实现每个显示器显示同一个画面的不同部分,笔记本合盖则进入睡眠状态,这种显示模式同样需要显卡在多个显示器上分配资源,但是又比镜像模式资源消耗小,所以显示效果一般,一般运用在多屏同时使用多个程序工作的场所,由于mac程序分离化的特点,这种模式在mac下运用也比较广泛。

4、混合模式
就是镜像模式和扩展模式混合使用的情况,要有3台以上显示器支持(包括笔记本自带的显示器),这种模式可以在两台或更多显示器上扩展显示一个画面,而另外一个(或多个)显示器镜像扩展的那个画面,这种模式对显卡消耗是最高的,效果也不是特别理想,一般应用在特殊的复杂场合。

四个模式设置问题:

首选看看几个模式的优选顺序,无任何设置时,外接显示器即为扩展模式,如果勾选镜像模式的话,镜像模式的优先权最高(也就是说勾选镜像模式的话,很有可能不会进入合盖模式和扩展模式),在扩展模式下,进行设置拖移,则进入混合模式。

1、合盖模式设置
这个模式下必须保证外接电源,不然有可能不会被唤醒。首先连接电源,然后连接显示器,接下来分两部分,如果是有线鼠标键盘,则合上盖直接点击鼠标键盘直接唤醒;如果是蓝牙鼠标键盘,则在蓝牙设置里设置能被该设备唤醒(蓝牙设置--选择设备--高级--勾选选项)然后合盖,点击该设备唤醒。在合盖模式时不能勾选镜像模式。
合盖模式退出,进入合盖模式后,拔去外部显示器连线或者在显示器设置里选择镜像模式就退出合盖模式,但是如果显示器不是苹果的或者不能确定是否支持热插拔的话,最好先点击睡眠,在睡眠状态拔出连接线。

2、镜像模式设置        这个模式很简单,连接外部显示器,在显示器选项中设置两个或以上显示器的分辨率(最好设置成相同的,不过一般系统会自动设置)然后点“排列”,勾选“镜像显示器”就可以。
退出镜像模式,把“镜像显示器”的勾去除就可以,注意,在镜像模式不能进入合盖模式和扩展模式。

3、扩展模式设置
这个模式是默认的,连接外部显示器,没有勾选镜像模式,没有被合盖唤醒进入合盖模式,那就是扩展模式。在扩展模式下,点击“排列”,然后根据说明进行相应的排列就可以。
退出扩张模式,只要进入合盖模式或者勾选“镜像显示器”就退出扩展模式。注意,可能需要在笔记本显示器上对扩展操作进行设置。

4、混合模式设置
将三台或以上显示器设置为扩展模式,然后按住option键把一个显示器图标拖移到准备镜像的显示器上,以镜像这两个显示器(镜像更多的也按照这个方法进行)松开option,把其他的拖移成扩展。

其他一些设置:
1、在镜像与扩展模式中快速切换可以按F7键实现。(能否退出合盖模式没有尝试过,望有心人指正)
2、有时候电脑不能自动识别显示器,则按照先连显示器再连电脑的顺序试一遍(平常也最好以这个顺序进行连接)
3、外接显示器的时候,有可能出现显示器上显示效果不理想的问题,特别是字体,首先尽量使用合盖模式,其次在外观显示里勾选使用LCD平滑字体,最后在字体大小哪里选择适合的值,这个不是必然的过程,也就是说只要在那一步解决了就没有必要再去下一步设置。

另外说一下mac的字体显示,说通俗点,win下是优先显示器显示效果,锐化优化了字体的很多显示效果,mac下是优先纸张显示效果,没有刻意的对字体进行优化和锐化,所以,在win下字体看上去更清晰更饱满,但是打印出来就不一定是这个效果,而mac下看起来可能会发虚可能锐化不够,但是显示效果是什么打印出来纸张上的效果就是什么,这就是很多设计者喜欢在mac上设计的原因,也是win和mac看上去有区别的原因,所以,以上的方法再怎么调,显示效果也不可能和win一致。