1. php exec() 运行另一个php文件,不等待返回值
可以后台运行,但是建议使用popen和pclose代替exec。同时需要注意php是否添加了环境变量。
<?php
//windows和linux下后台执行方式
$cmd='php2.php';
if(strtoupper(substr(PHP_OS,0,3))=='WIN')
{
pclose(popen('start/B'.$cmd,'r'));
}else
{
pclose(popen($cmd.'>/dev/null&','r'));
}
2. 如何让exec自己运行,php页面继续运行
在php中,如果出现exec();那么php是先运行完exec中的外部命令,然后继续执行接下来的php语句的。有什么办法让exec自己在那运行,php语句不等待,自己运行下去,让浏览器不用等待。谢谢。
Note:
如何程序使用此函数启动,为了能保持在后台运行,此程序必须将输出重定向到文件或其它输出流。 否则会导致 PHP 挂起,直至程序执行结束。
exec("命令 > null");
3. php exec()
php的exec函数用法如下:
exec — 执行一个外部程序
stringexec(string$command[,array&$output[,int&$return_var]])
exec() 执行command 参数所指定的命令。
command:要执行的命令。
output:如果提供了 output 参数,那么会用命令执行的输出填充此数组,每行输出填充数组中的一个元素。数组中的数据不包含行尾的空白字符,例如 字符
请注意,如果数组中已经包含了部分元素,exec()函数会在数组末尾追加内容。
如果不想在数组末尾进行追加,请在传入 exec() 函数之前对数组使用 unset() 函数进行重置。
return_var:如果同时提供output和return_var 参数,命令执行后的返回状态会被写入到此变量。
返回值:
命令执行结果的最后一行内容。
如果需要获取未经处理的全部输出数据,请使用 passthru() 函数。
如果想要获取命令的输出内容,请确保使用 output 参数。
4. 如何配置服务器的php,使得能成功运行exec函数
如果是命令行使用的话,直接运行即可,如果是apache使用的话,需要重启apache,如果是nginx配合使用的话,需要重启php-fpm,exec函数执行命令并不需要安全目录,只要有执行权限就可以执行。
5. php生成pdf 下载 同步还是异步
同步
首先需要安装wkhtmltopdf这个软件 需要执行shell_exec函数的php文件和安装的wkhtmltopdf.exe可执行文件在同一目录下,不然php找不到这个执行文件
shell_exec("wkhtmltopdf.exe --page-size A4 --outline 网页地址 pdf文件名");
--page-size 以A4纸的尺寸显示pdf内容
--outline 显示目录(网页中h1,h2来定)
网页地址 需要转成pdf的网页地址
pdf文件名 生成pdf的文件名,可以使用绝对路径
6. 怎样在php中执行exec命令
exec 或者 system 都可以调用cmd 的命令
直接上代码:
复制代码 代码如下:
< ?php
/** 打开windows的计算器 */
exec('start C:WindowsSystem32calc.exe');
/** php生成windows的批处理文件后,再执行这个批处理文件*/
$filename = 't.bat';
$somecontent = 'C:
';
$somecontent .= 'cd "C:/Program Files/MySQL-Front"';
$somecontent .= '
start MySQL-Front.exe';
if (!$handle = fopen($filename, 'w')) {
echo "不能打开文件 $filename";
exit;
}
/** 首先要确定文件存在并且可写*/
if (is_writable($filename)) {
/** 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方
将$somecontent写入到我们打开的文件中 。*/
if (fwrite($handle, $somecontent) === FALSE) {
echo "不能写入到文件 $filename";
exit;
}
echo "成功地将 $somecontent 写入到文件 $filename";
fclose($handle);
} else {
echo "文件 $filename 不可写";
}
exec($filename);
?>
7. php 中exec()函数是同步还是异步的比如命令需要10s那么,在其之后的语句是不是要等10s以后才能执行
没错,是这样。你可以认为是同步的,其实本身它们就是同一个进程。
8. PHP exec怎么用,里面的3个参数潞河设置
1、执行外部程序。语法: string exec(string command, string [array], int [return_var]);返回值: 字符串函数种类: 操作系统与环境内容说明本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 这个函数。要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。值的注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。相关函数:system() PassThru() popen() EscapeShellCmd()
9. php中的exec问题
exec是执行参数中的命令,本例中的:
rm是删除文件的命令,rm -rf $counterFile表示删除$counterFile以及它里面的所有文件和目录(如果是目录的话)。
echo是显示信息的命令,echo $num > $counterFile表示显示$num的内容到文件$counterFile里面。
10. PHP运行EXEC文件
可以,但需要系统权限,和启用PHP的exec函数支持,php配置默认是禁用的。
使用方法:
$str
=
exec("cmd
命令");
$str
返回执行命令后所输出的字符。
详细说明可以查询php手册