问题标签 [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 - 从 php 脚本启动 bash 脚本
我正在尝试使用 shell_exec 运行 bash 脚本,但它似乎不起作用。(似乎什么也没发生)我正在使用 nginx 和最新的 php5-cgi。下面是 php 文件的样子:
这就是 bash 脚本的样子:
phpscript 中没有错误,文件创建得很好,但 $startserver 似乎没有被执行并且 $pid 为空。我错过了 php 文件中的某些内容还是需要更改用户的权限?谢谢你的帮助。
php - shell_exec 返回 NULL
当我运行代码时
它返回 NULL,但是当我ping -c 4 127.0.0.1
在 ssh 中运行相同的命令 () 时,它完美地返回......
是的,脚本可以运行 shell_exec,我试过shell_exec('ls')
了,它返回正确,并shell_exec('ping -V')
返回ping utility, iputils-ss020927
所以 ping 被调用,但我没有得到任何响应......
有什么帮助吗?谢谢!
php - PHP密码错误
我正在这样做:
但是当我执行这个时,我得到这个错误:
为什么?我该如何解决这个问题以及如何隐藏 passwd 的输出?
php - Git使用私钥从带有shell_exec的PHP文件中获取
我已经构建了一个对特定文件夹执行 git fetch 的 php 脚本:
确切的命令是:
当然,如果我在命令行上运行它,它会完美运行。
现在,当我使用 shell_exec 运行它时,我收到以下错误:
查看它尝试连接的服务器,确切的错误是:
4 月 8 日 10:52:17 myserver sshd [26230]:来自 192.15.136.253 端口 32878 ssh2 的 git 密码失败
那么好吧。我猜这个 shell_exec 无法读取我设置的 ~/.ssh/id_rsa 密钥。所以我给那个文件 777 权限,我得到了这个错误。
@@@@@ @ 警告:未受保护的私钥文件!@ @@@ '/home/bathan/.ssh/id_rsa' 的权限 0777 太开放了。建议其他人不能访问您的私钥文件。此私钥将被忽略。权限错误:忽略键:/home/bathan/.ssh/id_rsa 权限被拒绝,请重试。权限被拒绝,请重试。权限被拒绝(公钥、gssapi-with-mic、密码)。致命:远端意外挂断
所以我猜 git 能够读取密钥文件。如果我把它放回正确的权限,我会再次回到第一个错误。
注意:我的 apache 服务器设置为使用我的同一个用户(bathan)运行,这是一个 ubuntu 盒子。
这是 ssh -v 响应
有任何想法吗?
php - shell_exec 中的 PHP sudo
我想用 shell_exec 以 root 身份执行命令。现在我知道这很危险,但请相信我,您需要使用 MOD_AUTH 登录并拥有访问此页面的正确权限。它是安全的。我怎样才能完成这项工作?
php - php shell_exec 触摸重定向和adduser
我试图最终使用 php 的shell_exec
功能来创建新的 Linux 用户。但是,即使在调试时我也遇到了问题。这是我的代码
这些try-catch
语句没有做任何事情,让我相信 shell 错误不会作为 PHP 错误传播(Python 也是这种方式)。该行$output=shell_exec("pwd")
返回正确的目录。但是,该行shell_exec("touch test.txt")
无法创建文件 test.txt(即使我给出了完整路径“/home/user/.../test.txt”)。
不用说,添加用户的实际代码也不起作用。
编辑我设法修复了一些代码。该touch test.txt
错误是由于权限不足造成的。Apache 使用用户 www-data 登录,我只是为该用户创建了一个主文件夹,并确保触摸该主文件夹中的文件。
然而,根据 Christian 的要求,添加三个调试语句现在引起了问题。
编辑经过进一步检查,它与以用户 www-data 登录时无法以 root 身份登录有关。ssh -v
返回debug1: read_passphrase: can't open /dev/tty: No such device or address
。我的猜测是 ssh 是在询问通用的“您是否愿意将 xxx 永久添加到 known_hosts”,但我无法回应。无论如何手动将用户添加到已知主机列表?
php - php shell_exec() 输出以获取文本文件
我正在尝试rate -c 192.168.122.0/24
在我的 Centos 计算机上运行命令,并使用命令将该命令的输出写入文本文件shell_exec('rate -c 192.168.122.0/24')
;还是没有运气!!
php - 如何在 php 中以 linux root 用户身份连接
大家好,
我需要在 php 中连接 linux root 用户。
我将我的文件托管在 var/www/html/connect.php
我需要执行一个 shell_exec 脚本。它说“只有root用户可以登录”。
我该如何改变呢?或请帮我解决问题。
php - 限制 shell_exec 的执行时间并获取生成的任何输出
我试图将 PHP 中 shell_exec 的最大执行时间限制为 20 秒,并获取在此期间生成的任何输出。如果 shell_exec 在不到 20 秒内完成,则脚本应直接继续。
更具体地说,我正在开发一个函数,该函数可以遍历 subversion 存储库的大量修订。对于每个修订版,它都会获取 svn diff 并计算添加的行数。问题是如果在修订中提交了非常大的文件,脚本将挂起。因此,我试图限制每个 svn diff 命令的执行时间。
popen() 与 sleep() 组合不是一个选项,因为它似乎使脚本在每次迭代中休眠 20 秒,这在 100 次迭代中是不可行的。设置 max_execution_time 也不是一个选项,因为它会返回一个致命错误。
php - 使用 PHP 的 shell_exec
我正在尝试使用 PHP shell_exec 在网络上运行apktool(只是一个解包 android 应用程序的工具),但它不起作用。有谁知道这可能是为什么?
这就是这行代码的实际样子:
任何建议都会帮助我完全不知道为什么我运行 php 而没有任何反应。谢谢!