问题标签 [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.
php - 验证应用程序是否在服务器上
我有一个自己的网络服务器,对于我的一个客户,我需要能够搜索 PDF。我已经要求我的托管服务提供商安装 xPDF 包。现在我开始测试,我在 PHP 脚本中调用这行代码:
$content = shell_exec('/usr/local/bin/pdftotext test.pdf -');
唯一的事情是,我得到了一个 NULL 结果。所以,我的问题是,有没有办法验证程序是否真的安装了?顺便说一句,我什至不确定路径是否正确。如果谈到拥有自己的网络服务器,我还很陌生。我从以下示例中获取了这个示例: http: //davidwalsh.name/read-pdf-doc-file-php
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 Permissions
为Scripts and Executables
- 在脚本中添加了 html 标记和其他 php 函数,以查看是否得到处理;确实如此。就好像这
shell_exec
一位被跳过了一样。
非常感谢您查看这个问题,我现在正在解决这个问题
干杯,伊恩
更新 1
我真的不想这样做,但作为一个权宜之计,直到我找到一个合适的解决方案,我在 Web 服务器上运行 Apache(它运行 shell_exec 很好)并通过 cURL 调用我的 apache 脚本。这很丑陋,但它有效:)。
更新 2
我开始认为这不是 IIS 或权限本身的问题,而是我们网络上的某些策略的结果 - 尽管我无法想象是什么。左派有什么想法吗?
php - PHP shell_exec 如何更改 LINUX 密码
我需要一些认真的帮助。我的服务器被锁定了:一些黑客更改了我的密码。但是,他无法破解 root 帐户。我仍然可以访问,但它没有在 SSH 中启用,所以我需要访问我在 Linux 中的帐户。我只能在我的服务器上访问 HTTP。我想知道是否可以通过 PHP 更改我的密码。
我有问题错误消息“sudo 需要终端”。你能帮我找回密码吗?
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 页面。
php - PHP 中的 shell_exec()
当上面的脚本从浏览器执行时,它会加载 10 秒,然后将脚本的输出转储到屏幕上。这当然是正常的。但是如果我想让shell脚本写入STDOUT的数据实时显示在屏幕上,有什么办法可以做到吗?
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!
php - shell_exec() 和 exec() 不显示输出
shell_exec()
:
我正在做一个使用这样的shell_exec()
函数的 PHP 站点:
其中叶子是位于我的脚本同一目录中的程序,但是当我尝试在服务器上运行此脚本时,我什么也没得到。
exec()
:
如果我尝试exec()
这样使用:
我懂了:
如果我做同样的事情,但使用echo
而不是print_r
,我只得到这个:Array
我可以做什么?
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() 之前调用。
php - 带有“svnadmin verify”的 shell_exec 什么也不返回
我想从 shell_exec() 给出 svnadmin verify 命令的输出
但它返回'null'。如何访问 svnadmin verify 的响应?
我在 Mac OS X Snow Leopard 上使用 PHP 5.3.2
java - php shell_exec 执行java程序
在 PHP 代码中,我尝试使用 shell_exec 执行 Java 程序,但我得到空行。
当我尝试在 bash 中执行程序时:
我得到“aaa”,但是当我尝试执行相同的文件时
我有空行
这是java代码
当我做:
我得到“aaa bbb”
我不会得到“:]”字符串如何使它工作?
也许用 System.out.println(String) 打印行与 echo 不同,打印行与返回值不同