问题标签 [shell-exec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
64 浏览

php - 验证应用程序是否在服务器上

我有一个自己的网络服务器,对于我的一个客户,我需要能够搜索 PDF。我已经要求我的托管服务提供商安装 xPDF 包。现在我开始测试,我在 PHP 脚本中调用这行代码:

$content = shell_exec('/usr/local/bin/pdftotext test.pdf -');

唯一的事情是,我得到了一个 NULL 结果。所以,我的问题是,有没有办法验证程序是否真的安装了?顺便说一句,我什至不确定路径是否正确。如果谈到拥有自己的网络服务器,我还很陌生。我从以下示例中获取了这个示例: http: //davidwalsh.name/read-pdf-doc-file-php

0 投票
6 回答
9636 浏览

php - 如何让 shell_exec 在 IIS 6.0 上运行

问题

我有一个shell_exec用于运行 pdf 到文本转换器的 PHP 脚本。为了简化问题,我创建了一个简短的脚本,用于shell_exec回显dir命令的输出。

当我在我的 Apache 服务器上运行它时,一切都按预期工作。当我切换到 IIS 时,就好像完全跳过了该行:没有错误、没有输出、没有日志、什么都没有。

不幸的是,我需要使用 IIS,因为我要针对 Active Directory 对我的用户进行身份验证。


这是我到目前为止所尝试的:

  • 通过发出命令cmd.exe /c而不是直接发出命令
  • 授予“C:\WINDOWS\system32\cmd.exe”Read & Execute权限SERVICE
  • 授予“C:\WINDOWS\system32\cmd.exe”Read & Execute权限NETWORK SERVICE
  • 授予“C:\WINDOWS\system32\cmd.exe”Read & Execute权限IUSR_MACHINENAME
  • 授予“C:\WINDOWS\system32\cmd.exe”Read & Execute权限Everyone(别担心,它不会长时间保持这种状态,哈哈)
  • 将 PHP 作为 ASAPI 模块运行
    • 这是我的标准配置
  • 将 PHP 作为 CGI 扩展运行
    • 这不起作用,我收到一个错误:CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.
  • 在 IIS 管理器中,在您的网站上设置Execute PermissionsScripts and Executables
  • 在脚本中添加了 html 标记和其他 php 函数,以查看是否得到处理;确实如此。就好像这shell_exec一位被跳过了一样。

非常感谢您查看这个问题,我现在正在解决这个问题

干杯,伊恩


更新 1

我真的不想这样做,但作为一个权宜之计,直到我找到一个合适的解决方案,我在 Web 服务器上运行 Apache(它运行 shell_exec 很好)并通过 cURL 调用我的 apache 脚本。这很丑陋,但它有效:)。


更新 2

我开始认为这不是 IIS 或权限本身的问题,而是我们网络上的某些策略的结果 - 尽管我无法想象是什么。左派有什么想法吗?

0 投票
1 回答
1997 浏览

php - PHP shell_exec 如何更改 LINUX 密码

我需要一些认真的帮助。我的服务器被锁定了:一些黑客更改了我的密码。但是,他无法破解 root 帐户。我仍然可以访问,但它没有在 SSH 中启用,所以我需要访问我在 Linux 中的帐户。我只能在我的服务器上访问 HTTP。我想知道是否可以通过 PHP 更改我的密码。

我有问题错误消息“sudo 需要终端”。你能帮我找回密码吗?

0 投票
3 回答
2014 浏览

php - 在 php 中运行 bash 脚本

我有两台电脑。在第一台计算机上,我运行了 apache,并运行了我所有的 Web 代码。在第二台计算机上,我使用检索脚本存储了大量数据(该脚本通常需要数小时才能运行)。我本质上是在创建一个 Web UI 来访问这些数据而没有任何时间延迟。

所以我打电话:

exec("bash initial.bash");

这是我的 Apache 文件夹中的驱动程序脚本。它调用另一台计算机上的脚本。调用: ssh otherMachine temp.bash&

此脚本调用第二台计算机上的数据检索脚本。

如果我在终端中调用 initial.bash,一切都会顺利且成功,但如果我在我的 PHP 文件中调用它,那么我在 initial.bash 中的所有命令都会运行,除了ssh otherMachine temp.bash&. 我把 & 放在最后,这样 temp.bash 将在后台运行,因为它确实需要几个小时才能完成。

我不确定为什么嵌套脚本在被 Apache 调用时没有运行。有没有比使用 exec 或 shell_exec 调用脚本更好的选择,最终调用另一个脚本。我不直接在第二台机器上调用脚本的原因是程序运行需要时间。Shell_exec 在脚本完成之前不会呈现 php 页面。

0 投票
3 回答
1121 浏览

php - PHP 中的 shell_exec()

当上面的脚本从浏览器执行时,它会加载 10 秒,然后将脚本的输出转储到屏幕上。这当然是正常的。但是如果我想让shell脚本写入STDOUT的数据实时显示在屏幕上,有什么办法可以做到吗?

0 投票
1 回答
475 浏览

php - System_Daemon and shell_exec

I've set up a daemon (daemon.php) using PEAR's System_Daemon which waits for something to appear in the database. Once something is there, the daemon gets enough information and sends it out to another script (execute.php) using the shell_exec command this way I'm not worried about waiting for a response and holding up the daemon.

Both of the scripts work fine alone and I'm even able to call shell_exec before calling System_Daemon::start(); . However, if I trying calling it AFTER System_Daemon::start();, then I get an Access Denied only when outputting to a file.

I'm still new to Daemons in general, so any ideas or thoughts would be great!

Thanks Guys!

0 投票
1 回答
2623 浏览

php - shell_exec() 和 exec() 不显示输出

shell_exec()

我正在做一个使用这样的shell_exec()函数的 PHP 站点:

其中叶子是位于我的脚本同一目录中的程序,但是当我尝试在服务器上运行此脚本时,我什么也没得到。


exec()

如果我尝试exec()这样使用:

我懂了:

如果我做同样的事情,但使用echo而不是print_r,我只得到这个:Array

我可以做什么?

0 投票
3 回答
2198 浏览

java - 从 PHP 执行 Java JAR 将不起作用

我有一个生成 HTML 文件的 java 程序。Java程序有两个输入参数:file1和file2,输出文件由“--file=”指定。

从命令行(UNIX、Mac OS 10.6.2)执行时,它看起来像这样:

从命令行执行程序会生成文件“new_file_TIEMSTAMP.html”

现在我想从 PHP 中执行同一行,所以我创建了以下脚本:

如您所见,我对控制台输出并不真正感兴趣,而是对程序生成的文件感兴趣。

我还使用以下调用来执行控制台命令,但从我的浏览器执行此 PHP 脚本时它们都不起作用。

我不确定是否需要在我的 php.ini 中启用一些特殊设置,或者我做错了什么,但我不确定现在该怎么做。

感谢您的帮助

PD:

我在使用系统调用时收到的一条错误消息如下: javax.xml.transform.TransformerException: org.xml.sax.SAXException: setResult() 必须在 startDocument() 之前调用。

0 投票
2 回答
564 浏览

php - 带有“svnadmin verify”的 shell_exec 什么也不返回

我想从 shell_exec() 给出 svnadmin verify 命令的输出

但它返回'null'。如何访问 svnadmin verify 的响应?

我在 Mac OS X Snow Leopard 上使用 PHP 5.3.2

0 投票
0 回答
4692 浏览

java - php shell_exec 执行java程序

在 PHP 代码中,我尝试使用 shell_exec 执行 Java 程序,但我得到空行。

当我尝试在 bash 中执行程序时:

我得到“aaa”,但是当我尝试执行相同的文件时

我有空行

这是java代码

当我做:

我得到“aaa bbb”

我不会得到“:]”字符串如何使它工作?

也许用 System.out.println(String) 打印行与 echo 不同,打印行与返回值不同