从去年11月底开始动工,决定用PHP改写网站程序,因为老旧的ASP语法啰嗦,扩展起来麻烦,而且数据库执行低下,几乎不能用任何缓存。
现在闲工夫花了大概一个月把http://www.oyksoft.com/ 改造了,不是面貌上的改造,你看到的样子跟以前一样,因为样式没任何改变,但是其核心全是PHP的了。你甚至也看不到这全是用PHP写的,没错,它全是伪静态的。甚至连.asp后缀都是伪装的,因为我不想改变原因的URL结构。shy
  得益于phalcon这个神器,使得网站即使MVC了也没有丝毫减慢影响。phalcon是目前实现比较完美的MVC框架,核心用C代码编写,编译成DLL了,效率自然很高,而且ORM实现比较牛叉,对数据库的封装很是方便。加上使用phpstorm开发集成,那真有一种非常爽快的感觉。而对于比较大点的网站,肯定是要用到缓存的。至于缓存嘛,一开始用的memcache,但发现在Windows IIS7的Fastcgi下大并发下有进程间状态不同步的毛病。由于服务器必须是Win,这个问题也网上到处搜索无果,后来自己写了一个wincache的缓存类,才算基本解决。不得不说微软自家的wincache稳定性果然不是盖的。现在是把它所有功能都用上了,包括了session缓存,OPcache,用户缓存,以及文件缓存。这也让我了解了,windows下用xcache/memcache是不靠谱的,尤其是xcache,在Windows下那就得哭死~自然这些是在linux下没问题的问题,但在封闭的WIN下问题就会出来了……
  当然了,数据从MSSQL转成了MYSQL。这是不用说的,而且用了阿里云的RDS哦,减轻服务器关于数据库的负担。

Xcache和memcache选哪个好

快乐无极 , 2014/06/18 11:05 , 开发文档 » PHP , 评论(0) , 阅读(62009) , Via 本站原创
memcache和 Xcache 是PHP的2个缓存工具。PHP5.5以来,自带有 Zend Opcache ,不过默认没启用。
这些缓存器的原理:
引用
把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知

然而Opcache 只自动缓存代码,它没有开放一个自定义缓存的API,要用到用户缓存的话还得用上Xcache或者memcache。
Xcache是中国人所做,看起来很牛叉,但是在实际应用中发现这个东西太不稳定了,光用它作代码缓存(后台自动缓存PHP代码),竟然有时候会使得整个PHP进程都当掉。然后也试了Xcache的用户缓存,API文档写得真够残的,好在还能用,但万没有想到,在fastcgi模式下,缓存命中率低得可怜,用和没用基本上差不多,明明缓存了,后一个请求过来一查却说没缓存,可能延时个几秒后才得知这个已经缓存了,才能取出缓存内容。这玩意到底仔细测试没有?我用的是3.1.0官方正式版Xcache在PHP 5.5 里作的测试,简直就是个废物!还记得以前在PHP5.2里面也用它过,莫名其妙的请求失败也时有出现。现在直接不敢再用……

相比这个XCache,memcache稳定得多。题外话:memcached和memcache又有点不同,memcached是memcache的守护进程,但是PHP中也有memcached的扩展。这两个说实话是让人头晕不知道是什么区别,其实我看来就是调用memcache的封装模式不太一样而已。具体哪些调用上的不同,参考 http://pecl.php.net/package/memcachehttp://pecl.php.net/package/memcached 。一看就知道memcached要多一些API函数调用,功能也更强大一些。而实际上基础应用的话memcache已经足够。

memcache的使用首先要有它的服务(也就是memcached进程)在跑,这个是一个小小的软件,一般是用C++编译,可以部署在与PHP同一台也可以不同,甚至可以分布式部署几个memcached服务在不同的服务器上。而PHP的memcached只是它的客户端而已。memcached本身没有PHP代码缓存功能,现升到PHP5.5后直接交给自带Opcache 了。一般用它作用户缓存。经过实际开发,memcached稳定性是非常高的,只要有缓存,命中率几乎在99%以上。PHP官方下提供了它的扩展可直接使用:http://pecl.php.net/package/memcache 连Windows版的DLL也直接在那里了,不用自己再编译。Windows下编译这些东西真是麻烦得很啦~

综上memcache更加稳定,推荐使用。Xcache真要用的话,还是老实在本地先测试一下再说。
此外,微软Windows下PHP可以使用Wincache,这个的稳定性没得说的,而且也不用守护进程。但是微软没能编译适用于PHP 64位的DLL。要想通用和跨平台,memcache是首选!!

NetBeans开发团队近日发布了NetBeans IDE 8.0 RC版本,包含了一系列新的功能和改进,进一步改善了对Java 8、Java EE、PHP、JavaScript、C/C++等语言的支持。

 

NetBeans IDE 8.0中究竟增加了哪些亮点功能呢?下面就来看看。

针对Java的改进:

        
  • 改进了代码分析器和编辑器,以便更好地支持JDK8中的配置文件、Lambdas、Streams和方法引用等。
  •     
  • 支持部署、运行、调试、配置嵌入式设备上的Java应用。
  •     
  • 支持Java ME Embedded 8。
  •     
  • 改善了Java编辑器,包括新的Java编程提示、Javadoc提示框显示、即时重命名等功能。
  •     
  • 改善了与JavaFX Scene Builder的整合。

针对JavaScript的改进:

        
  • 视图和控制器之间链接形式的AngularJS导航功能。
  •     
  • 改善了AngularJS的代码补全功能。
  •     
  • 现在支持Knockout模板代码的自动补全。
  •     
  • 全新的编辑器,支持创建jQuery小部件和插件。
  •     
  • 支持调试Nashorn引擎(JDK8中的JavaScript运行时)中执行的JavaScript代码。

针对PHP的改进:

        
  • 支持PHP 5.5
  •     
  • 支持Nette tester
  •     
  • 支持PHP CS Fixer
  •     
  • 增强了对Twig、Latte和Neon的支持
  •     
  • “新建项目”向导现在支持Composer

详细信息:NetBeans IDE 8.0 Release Candidate Information

Tags:
https://github.com/douglascrockford/JSON-js
使用其中的 json2.js 作为兼容。
这个JS中的函数将JSON对象转换成JSON字符串,解决 IE6、7、8不能使用 JSON.stringify 函数的问题!
<!--[if lt IE 9]>
    <script src="json2.js"></script>
<![endif]-->

这样JSON.stringify 便可以正常使用!
得到JSON字符串后传回服务器,PHP作一下json_decode就行了。
Tags:
使用的是PHP + Smarty,本地测试输出映射完全正常,上传到服务器却不正常,访问时页面输出空白,检查代码和Smarty模板没有任何问题。后来左思右想,才觉得可能是目录权限的问题,于是将目录权限设置为WEB服务可读写(如IIS下是IUser开头用户,手动添加其进来,赋予读写权限。Linux下同原理),后来正常了~


点击在新窗口中浏览此图片
Tags:
在页面中有时候使用ul li列表时ie6、ie7、ie8、FF的高度会不一样(其中ie6与ie7高度一样,ie8与FF高度一样),设置高后使用 overflow:hidden;也无济于事,这个问题一直困扰着我,以至于我后来只能使用DIV来做列表,但是这样只能说是对付上的,但没从实际上解决这个问题。

后来在网上找到了一个方法,在li样式上加上vertical-align:bottom便解决了
Tags: ,
分页: 2/22 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]