您好,欢迎光临! 推荐您使用Chrome浏览器访问本站。

PHP实现异步调用的几种方法

557 views
PHP实现异步调用的几种方法1. 最简单的办法,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。 这种方法最简单,也最快。服务器端不用做任何的调用。 但是缺点是,一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了。 而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load。 当然,还可以使用其他的类似原理的方法,比如script标签等等。 2. popen() res......

Redis安装及php扩展redis(windows平台)

876 views
Redis安装及php扩展redis(windows平台)Redis安装: 下载地址:https://github.com/dmajkic/redis/downloads,请根据系统版本选择相应下载 解压下载文件,运行redis-server.exe即可开启redis服务端(不要关闭窗口,关闭窗口无法访问服务端) php扩展redis: 1 首先,查看所用php编译版本V6/V9 在phpinfo()中查看 2 下载扩展 地址:https://github.com/phpredis/phpredis/downloads(注意所支持的php版本,VC及TS字样) 3 将下载的php_redis.dll,php_igbinary.dll放在php扩展目录中(ext),并修改配置文件php.ini 添加 扩展 extension=php_igbinary.dll extension=php_re......

PHP session锁引起并发效率问题

689 views
PHP session锁引起并发效率问题PHP默认的会话处理器是session.save_handler = files(即文件)。如果同一个客户端同时并发发送多个请求(如ajax在页面同时发送多个请求),且脚本执行时间较长,就会导致session文件阻塞,影响性能。因为对于每个请求,PHP执行session_start(),就会取得文件独占锁,只有在该请求处理结束后,才会释放独占锁。这样,同时多个请求就会引起阻塞。 解决方案有3种: 1、在用完session的时候使用session_write_close()释放文件锁。 2、利用session_set_save_handler()函数是实现自定义会话处理。 3、自己写session类(写session操作较少......

php常量定义,const与define的区别

599 views
php常量定义,const与define的区别【问】在php中定义常量时,const与define的区别? 【答】使用const使得代码简单易读,const本身就是一个语言结构,而define是一个函数。另外const在编译时要比define快很多。 (1).const用于类成员变量的定义,一经定义,不可修改。define不可用于类成员变量的定义,可用于全局常量。 (2).const可在类中使用,define不能。 (3).const不能在条件语句中定义常量。 例如: if (…){ const FOO = ‘BAR’; // 无效的invalid } if (…) { define(‘FOO’, ‘BAR’); // 有效的valid } (4).const采......

PHP性能优化之编码参考

623 views
PHP性能优化之编码参考用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。 echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。 在执行for循环之前确定最大循环数,不要每循环一次都计算最大值,最好运用foreach代替。 PS:像count、strlen这样的操作其实是O(1)的,因此不会带来太多消耗......