php用什么办法实现异步任务?
php实现异步任务的方法:
通用的异步执行文件 exec.phpsleep(8);
$data = "--- type " . date("Y-m-d H:i:s") . " ---\n";
file_put_contents("../log.txt", $data, FILE_APPEND);
popen
通过 popen() 函数打开进程文件指针,从而能异步执行脚本文件。(只在linux下有效)pclose(popen("php exec.php &", 'r'));
echo 1;
如何在网页端调用服务器端的程序?
要求应该是在客户端网页上发送消息到服务器,然后服务器响应这个消息并执行程序,然后将程序运行结果返回给网页。
当然还有一种要求是用网页管理服务端程序,跟远程桌面一样,这个由于篇幅限制不多解释,请自己去搜索VNC这个远程控制台。
回到正题,一般来讲,服务端脚本语言都可以执行程序的,这里以PHP为例子
<?phpexec("./run.sh",$output)//接收控制台输出的内容或者程序执行的结果print_r($output)//输出这个结果给网页?>
一般来讲,在网页直接指令执行服务器文件风险性极高,所以许多时候这些服务端脚本语言的默认设定是不会让你执行文件的,需要自行修改相关设置参数提升权限才可以获取让脚本语言执行文件的权限,系统文件夹的权限也相应需要修改。不同系统对应设置不同。
Windows的权限设置很详细,建议要进行这种高风险操作之前先详细了解文件权限方面知识,这部分内容不在本题范围中,不多做解释。

