标签: shell-exec

在Windows上使用wkhtmltopdf

我正在尝试设置一个漂亮的HTML到图像插件wkhtmltopdf,我有一个非常困难的时间.

到目前为止我做了什么:

  1. 下载了wkhtmltopdf zip包并在我的网站根文件夹中打包了该文件

  2. 作为测试,我在index.php文件中包含以下代码,我希望将bbc.com网站的内容保存为我的网站根文件夹中的.jpg图像:

    shell_exec('./ wkhtmltopdf --quality 50 http://www.bbc.com bbc.jpg');

似乎什么也没发生.PHP 没有在安全模式下运行,所以这不是问题.shell_exec正在执行,我能够使用它创建一个.txt文档.

我已经研究了好几天了,我向任何人提供了100个赏金,可以提出一个明确的,简化的逐步工作指南,介绍如何在Widows上设置wkhtmltopdf以使用PHP运行.

更具体地说,我正在寻找简化的演练如何:

  • 设置wkhtmltopdf使用php在Windows上运行(包括常见问题的详细信息以及如何克服它们).

  • 单击按钮或链接:将"当前"网页打印为pdf,包括所有填写的输入值(包括此部分的示例代码).具有更改页面内容的事件的网页应打印出当前版本的页面,而不是页面的初始状态.

  • 创建.pdf创建的下载链接,onClick上面提到的创建和打印到pdf的相同功能(包括此部分的示例代码).

php shell shell-exec wkhtmltopdf wkhtmltoimage

11
推荐指数
2
解决办法
2万
查看次数

在Laravel中运行python脚本

所以,我试图在我的Laravel 5.3中运行一个python脚本.

这个功能在我的Controller里面.这只是将数据传递给我的python脚本

public function imageSearch(Request $request) {
    $queryImage = 'c:\\\xampp\\\htdocs\\\identificare_api\\\public\\\gallery\\\herbs\\\query.png'; //queryImage
    $trainImage = 'c:\\\xampp\\\htdocs\\\identificare_api\\\public\\\gallery\\\herbs\\\2nd.png'; //trainImage
    $trainImage1 = 'c:\\\xampp\\\htdocs\\\identificare_api\\\public\\\gallery\\\herbs\\\3rd.png';
    $trainImage2 = 'c:\\\xampp\\\htdocs\\\identificare_api\\\public\\\gallery\\\herbs\\\4th.jpg';
    $trainImage3 = 'c:\\\xampp\\\htdocs\\\identificare_api\\\public\\\gallery\\\herbs\\\1st.jpg';

    $data = array
        (
            array(0, $queryImage),
            array(1, $trainImage),
            array(3, $trainImage1),
            array(5, $trainImage2),
            array(7, $trainImage3),
        );

    $count= count($data);
    $a = 1;
    $string = "";

    foreach( $data as $d){
        $string .= $d[0] . '-' . $d[1];

        if($a < $count){
            $string .= ","; 
        }
        $a++;

    }

    $result = shell_exec("C:\Python27\python c:\xampp\htdocs\identificare_api\app\http\controllers\ORB\orb.py " . escapeshellarg($string));

    echo $result;
}
Run Code Online (Sandbox Code Playgroud)

我的python脚本是一个ORB算法,它在将火车图像与查询图像进行比较后返回最小距离及其id.所以,这是我的python脚本:

import …
Run Code Online (Sandbox Code Playgroud)

php python exec shell-exec orb

11
推荐指数
2
解决办法
1万
查看次数

CreateProcess和ShellExecute差异

两者之间的主要区别是什么?我愿意从我的(C++)应用程序中只运行另一个EXE.继承环境,安全功能等时是否有任何差异?

c++ windows winapi createprocess shell-exec

10
推荐指数
2
解决办法
1万
查看次数

Shell_exec php与nohup

我认为有很多类似的帖子,但我在搜索后还没有找到解决方案.

基本上,我正在尝试在后台运行两个脚本.当我在命令行中运行它们时,我在调用我的第一个脚本后看到:

/usr/bin/nohup php script.php > nohupoutput.log & echo $!
Run Code Online (Sandbox Code Playgroud)

我尝试 ...script.php > /dev/null &过同样的结果.我明白了:

/usr/bin/nohup: ignoring input and redirecting stderr to stdout
Run Code Online (Sandbox Code Playgroud)

我忽略并运行第二个.我注意到它似乎挂在那里,并按下Enter让我回到machine:~folder>

/usr/bin/nohup php script2.php > nohupoutput.log & echo $!
Run Code Online (Sandbox Code Playgroud)

两个脚本都有效.我试图将其转换为shell_exec命令,似乎没有任何工作.我怀疑这个ignoring input位造成了困难,但我不确定.无论如何,以下不起作用.它只是挂在浏览器中:

$output = shell_exec('/usr/bin/nohup php script.php > /dev/null &');
$output = shell_exec('/usr/bin/nohup php script2.php > /dev/null &');
Run Code Online (Sandbox Code Playgroud)

php shellexecute exec shell-exec nohup

9
推荐指数
1
解决办法
2万
查看次数

如何使用shell从另一个PHP脚本执行PHP脚本?

我有一个sample.php带有以下内容的php文件:

<?php
echo "Hello World!";
?>
Run Code Online (Sandbox Code Playgroud)

而我想要做的是使用第二个PHP脚本运行这个PHP脚本.

我认为shell_exec可以帮助我,但我不知道它的语法.

顺便说一句,我想用这个文件来执行cpanel.所以我必须执行shell.

有没有办法做到这一点?

php shell shell-exec

9
推荐指数
1
解决办法
9219
查看次数

shell_exec中的PHP sudo

我想用root_exec以root身份执行命令.现在我知道这很危险,但请相信我,您需要使用MOD_AUTH登录并拥有正确的权限来访问此页面.这很安全.我怎么能这样做?

php shell sudo shell-exec root

8
推荐指数
2
解决办法
3万
查看次数

如何从php脚本执行shell命令

我想创建一个php脚本来执行shell命令并返回其输出.服务器需要私钥.当我第一次决定测试时,我创建了这个:

<?php
$command = "ls";
$output = shell_exec($command);
echo "<pre>$output</pre>";
?>
Run Code Online (Sandbox Code Playgroud)

这很好用.但当我改变$command命令时,我真的想要运行:

$command = "/etc/init.d/mycontrollerd status /etc/mycontrollerconfig";
Run Code Online (Sandbox Code Playgroud)

它给了我这个输出:

You need root privileges to run this script
Run Code Online (Sandbox Code Playgroud)

我的猜测是我需要使用sudo.当然,这需要将pem文件放在服务器上的某个位置.假设我这样做,究竟应该$command是什么?我应该使用shell_exec(),exec(),system()或其他什么东西?

php shell-exec

8
推荐指数
1
解决办法
3万
查看次数

PHP - 如何知道服务器是否允许shell_exec

在某些服务器上,不允许PHP通过shell_exec运行shell命令.如何检测当前服务器是否允许通过PHP运行shell命令?如何通过PHP启用shell命令执行?

php shell shell-exec

8
推荐指数
2
解决办法
1万
查看次数

PHP shell_exec等待脚本完成?

我有一个PHP脚本,它在数据库中查询要完成的作业列表,并根据它在数据库中找到的内容(基本上是一个进程队列)触发其他PHP脚本.

队列运行程序脚本执行的某些脚本可能需要30秒左右才能完成运行(生成PDF,调整图像大小等).

问题是shell_exec()在队列中,runner脚本调用处理脚本,但是不等待它们完成,导致队列没有完成.

队列转轮脚本:

#!/usr/bin/php
<?php
    // Loop through database and find jobs to be done
    shell_exec(sprintf("/root/scripts/%s.php", $row['jobName']));
?>
Run Code Online (Sandbox Code Playgroud)

工作脚本:

#!/usr/bin/php
<?php
    shell_exec("/usr/bin/htmldoc -t pdf --webpage test.html > test.pdf");
    // Update database to mark job as completed
?>
Run Code Online (Sandbox Code Playgroud)

直接从命令行运行作业脚本,并创建PDF.

有想法该怎么解决这个吗?或者更好的方法来运行进程队列?

php queue shell-exec

7
推荐指数
1
解决办法
1万
查看次数

使用PHP执行cmd命令

如何使用php在命令行中正确执行命令?例如,我在命令行中使用以下命令将docx文件转换为pdf文件:

pdfcreator.exe /PF"D:\Documents\sample.docx
Run Code Online (Sandbox Code Playgroud)

现在使用PHP代码我希望能够执行相同的命令,但似乎没有发生任何事情:

<?php
shell_exec('pdfcreator.exe /PF"D:\Documents\sample.docx"');
?>
Run Code Online (Sandbox Code Playgroud)

这可能在PHP中吗?如果是,我该怎么办?

php cmd shell-exec

7
推荐指数
2
解决办法
4万
查看次数