2013年2月28日
摘要: PHP异步执行的常用方式常见的有以下几种,可以根据各自优缺点进行选择:1.客户端页面采用AJAX技术请求服务器优点:最简单,也最快,就是在返回给客户端的HTML代码中,嵌入AJAX调用,或者,嵌入一个img标签,src指向要执行的耗时脚本。缺点:一般来说Ajax都应该在onLoad以后触发,也就是说,用户点开页面后,就关闭,那就不会触发我们的后台脚本了。而使用img标签的话,这种方式不能称为严格意义上的异步执行。用户浏览器会长时间等待php脚本的执行完成,也就是用户浏览器的状态栏一直显示还在load。当然,还可以使用其他的类似原理的方法,比如script标签等等。2.popen()函数该函数打 阅读全文
posted @ 2013-02-28 14:43 浩瀚孤鸿 阅读(2434) 评论(0) 推荐(0) 编辑
摘要: PHP里有个函数很有用。这是在最近的开发中才逐渐用到的。 int ignore_user_abort ( [bool setting] ) 这个函数的作用是指示服务器端在远程客户端关闭连接后是否继续执行下面的脚本。setting 参数是一个可选参数。如设置为True,则表示如果用户停止脚本运行,仍然不影响脚本的运行(即:脚本将持续执行);如果设置为False,则表示当用户停止运行脚本程序时,脚本程序将停止运行。下面这个例子,在用户关闭浏览器后,该脚本仍然后在服务器上继续执行:<?phpignore_user_abort(); // 后台运行set_time_limit(0); // 取消 阅读全文
posted @ 2013-02-28 14:20 浩瀚孤鸿 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 有时候执行的处理时间比较长,一般情况下,我们都是等程序执行完后再执行下面的处理,但是,有时我们不想让用户等待时间太长,让后面的处理先执行,处理时间长的处理放到后台执行。这次我将说明一下如何在Linux/Unix平台下后台执行PHP程序执行时间长的程序(test.php)<?php/*POST提交后、执行需要长时间处理的程序。这里什么也不处理只是停止10s*/if($_POST['submit']){sleep(10);echo'finish!';}else{?><html>执行时间长的程序<formmethod="post 阅读全文
posted @ 2013-02-28 14:10 浩瀚孤鸿 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 用 telnet/ssh 登录Linux 服务器,运行了一些耗时较长的任务, 结果却因为关闭远程窗口任务中途失败。这是我们就需要用到Linux的后台运行命令基础方法:下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断。可以通过执行fg来将其恢复到前台。有多个进程在后台运行,需要恢复到前台来执行的时候,就要可以用jobs列出所有在后台执行的进程,那个中括号([ ])里面的数字就是jobs代号,从而通过fg 数字恢复指定的后台进程.进阶方法:以上方法只是把命令放入后台,他还是会跟远程窗口绑定在一起,一旦远程窗口关闭,这些后台运行的资 阅读全文
posted @ 2013-02-28 14:08 浩瀚孤鸿 阅读(810) 评论(0) 推荐(0) 编辑
摘要: wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作"递归下载"。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget 阅读全文
posted @ 2013-02-28 14:02 浩瀚孤鸿 阅读(1191) 评论(0) 推荐(0) 编辑
摘要: min hour day(of month) month day(of week) user conmmand(a) 前五项设置时间(b) 当min, hour, month全部满足并且两个day当中至少一个满足时,cron就会执行命令(c) 如果时间未指定完全(如缺少hour),则command永远不会被执行(d) 如果crontab中包含两条相同的命令,则执行两次(e) *表示所有时间(f) cron每分钟检查一次文件(g) 时间格式:可以输入范围,形如:"8-10"可以输入序列,形如:"1,2,3,6,7" ,"4-6,7-10" 阅读全文
posted @ 2013-02-28 13:11 浩瀚孤鸿 阅读(1182) 评论(0) 推荐(0) 编辑
摘要: 一般定时执行php可以分为2种,一种是通过wget访问webservice的php文件,另一种是通过php-cli直接执行php文件。这里讲的就是第二种方法。首先下载phpcli(cli的意思是命令行接口,也就是说通过命令行执行php)sudoapt-getinstallphp5-cli下载完成后就可以直接执行php文件了。php/var/www/hello.php假如hello.php文件里的内容是<?phpecho'hellophp-cli';?>就会显示hellophp-cli了。写定时任务的时候就可以这样写编辑/etc/cron.d/php5文件,写入*23 阅读全文
posted @ 2013-02-28 13:10 浩瀚孤鸿 阅读(832) 评论(0) 推荐(0) 编辑
摘要: 在配置maganto系统时,由于是lamp环境, 在使用putty上传magento的安装文件时, 发现上传速度慢得令人发疯, 后来没得办法只有上传magento.zip文件,在上传只有进行解压然后再安装, 这就涉及到linux下zip文件的解压缩问题, 其实它解压的过程很简单, 进入SHELL模式,也就是命令行模式, 直接unzip magento.zip然后会出现不停闪烁的解压过程, 随后一个完整的解压包magento就会出现在与magento.zip相同的路径下, 然后再通过地址访问进行安装, 很简单吧?以下是linux zip, unzip命令详细说明:linux zip 命令详解 功 阅读全文
posted @ 2013-02-28 10:45 浩瀚孤鸿 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 开启Ubuntu下lamp的php错误提示Ubuntu下默认的lamp模式是没有php语法错误提示的,如果要开启,需要修改几个地方:1. 打开php.ini文件。这个文件在: /etc/php5/apache2 目录下,需要修改这个文件的权限才能写入。sudo chmod 777 /etc/php5/apache2/php.ini2. 搜索并修改下行,把Off值改成Ondisplay_errors = Off3. 搜索下行error_reporting = E_ALL & ~E_NOTICE或者搜索:error_reporting = E_ALL & ~E_DEPRECATED 阅读全文
posted @ 2013-02-28 10:37 浩瀚孤鸿 阅读(218) 评论(0) 推荐(0) 编辑