关于“shell_exec_php”的问题,小编就整理了【3】个相关介绍“shell_exec_php”的解答:
php中shell_exec不能运行?其实,你这里真是的需求,只是希望在Web这边获取一种方式,来执行一个长达数小时的“异步”任务。
就PHP而言,可以用2种方式来做:
(1)在PHP里使用shell_exec的函数,以shell的方式,启动一个独立的PHP脚本执行。
这种方式,其实相当于在Web服务器处理过程中,独立起了一个shell进程处理你的任务。
这里,需要特别注意的是shell_exec的服务器安全,注意校验参数,小心避免被带入shell命令中。
这个是比较容易实现的方式。
(2)使用PHP实现一个Server,监听一个端口,为Web端提供服务。这里的实现方式有很多,通常要配合扩展,例如原生的pthread(多线程),开源扩展swoole等等。
直接在web程序里使用多线程,是不恰当的,web请求通常有时间限制,例如timeout默认是30秒。你如何保证,在线程任务执行完之前,它的父进程仍然在工作?
通过html导出pdf如何分页?首先需要安装wkhtmltopdf这个软件需要执行shell_exec函数的php文件和安装的wkhtmltopdf.exe可执行文件在同一目录下,不然php找不到这个执行文件
shell_exec("wkhtmltopdf.exe--page-sizeA4--outline网页地址pdf文件名");
--page-size以A4纸的尺寸显示pdf内容
--outline显示目录(网页中h1,h2来定)
网页地址需要转成pdf的网页地址
pdf文件名生成pdf的文件名,可以使用绝对路径
php安全模式影响哪些函数?开启safe_mode之后对php系统函数的影响:
safe_mode即为PHP的安全模式,在php.ini中设置safe_mode = On重启PHP便可开启安全模式。
当安全模式开启后,PHP相应的一些系统函数,文件操作函数等将会受限。例如:
ckdir,
move_uploaded_file,
chgrp,
parse_ini_file,
chown,rmdir,
copy,
rename,
fopen,
require,
highlight_file,
show_source,
include,
symlink,
link,
touch,
mkdir,
unlink,
exec,
shell_exec,
pasathru,
system,
popen
除此之外,一些php扩展的函数也会受到限制,不能在程序里面直接加载扩展,只能到php.ini里加载,而且php如果需要执行操作系统的程序时,必须在safe_mode_exec_dir中指定程序的路径,否则执行将失败。
到此,以上就是小编对于“shell_exec_php”的问题就介绍到这了,希望介绍关于“shell_exec_php”的【3】点解答对大家有用。