【PHP命令行工具shell_exec,exec,passthru,system详细使用介绍_php技巧】教程文章相关的互联网学习教程文章

php – 使用shell_exec(‘passwd’)更改用户的密码【代码】

我需要能够通过网页(在受控环境中)更改用户的密码.所以,为此,我正在使用此代码:<?php $output = shell_exec("sudo -u dummy passwd testUser testUserPassword"); $output2 = shell_exec("dummyPassword"); echo $output; echo $output2; echo "done"; ?>我的问题是这个脚本没有改变用户“testUser”的密码.我究竟做错了什么? 谢谢解决方法:另一个选择是有一个shell脚本,比如叫做passwd_change.sh,看起来像这样:#!/usr/bin/expe...

php – shell_exec()问题,某些主机默认禁用它,寻找一个四处走动【代码】

我在某些主机上遇到shell_exec()问题,默认情况下它在某些Web主机上被禁用.我正在寻找运行相同的脚本而不使用shell_exec. 我正在寻找另一种方法来获得相同的结果,任何帮助将不胜感激.$uptime = shell_exec("cut -d. -f1 /proc/uptime"); $days = floor($uptime/60/60/24); $hours = $uptime/60/60%24; $mins = $uptime/60%60; $secs = $uptime%60; echo "<div><hr><strong>Uptime</strong>: this server is up $days days $hours ho...

Python模块存在于终端中,但在通过PHP的shell_exec运行时不存在【代码】

当我在终端中运行python脚本时它工作得很好.然后我继续通过来自localhost的PHP的shell_exec运行完全相同的脚本.shell_exec("python /Applications/MAMP/htdocs/pharm/Webmaps.py")它给出的错误是:Traceback (most recent call last): File "/Applications/MAMP/htdocs/pharm/Webmaps.py", line 1, in import folium ImportError: No module named folium它无法识别已安装的模块.毋庸置疑,从localhost上的windows可以正常工作.解决...

PHP Shell_exec仅适用于某些命令【代码】

除了某些可以列入白名单的命令外,有没有办法禁用shell_exec? 我想我总是可以进入并将这些命令放入mod_sec,这是我不想运行的主要命令.但这种配置还不够.我想禁用shell_exec但允许shell_exec只运行某些命令,确切地说是两个命令. 我正在运行CentOS,Cpanel和PHP 5.2.17.解决方法:这本身并不是一个不可行/白名单,但如果正确完成,它会为用户提供受监督和严格控制的访问权限,只能访问您在代码中指定的那些shell命令.$Ops = array('functi...

bash – shell_exec无法在php web appl中运行【代码】

我创建了一个shell脚本来检测网络交互,然后为每个接口检测IP地址,掩码,广播地址,然后对该网络接口的所有IP地址进行ping操作. 该脚本具有执行权限.通常,脚本会将网络接口列表(eth0 eth1 wlan0)保存在名为“resultat”的文件中,但是当我使用php的shell_exec命令从网页运行此脚本时(echo-password for www-data user’| / usr) / lib / cgi-bin / sudo -S global.sh bin / bash /“)没有生成输出. 如果我在终端中运行与用户www-data相...

如何从(PHP)shell脚本中取回数据【代码】

我正在通过更大的shell脚本运行PHP脚本php -f $filename > `basename $filename .php`.html现在我想让脚本告诉我哪个文件扩展名用于输出文件名.我试过了export AW_FILENAME_SUFFIX=".html" php -f $filename > `basename $filename .php`$AW_FILENAME_SUFFIX在脚本本身中有一个putenv(“AW_FILENAME_SUFFIX = .txt”),但它似乎只改变了PHP命令及其子进程运行的环境,而不是调用脚本之一. 除了我可以用于这样的元数据或写入第二个文件...

PHP,shell命令和jar文件【代码】

我有一个jar文件,我想用PHP执行,但是当我运行脚本时,我得到的是以下错误:无法为对象堆保留足够的空间.我做了一些搜索,似乎我得到了这个,因为命令没有在登录shell中执行.如果是这种情况我该怎么办?我试过shell_exec()和exec()都产生了同样的错误. 谢谢您的帮助!解决方法:使用exec()通常可以正常工作;但是,在您的情况下,看起来Java无法分配足够的内存来启动(因此错误消息).如果您在具有有限RAM且没有交换空间的虚拟机中运行,您将发...

php shell_exec执行java程序【代码】

在PHP代码中,我尝试使用shell_exec执行Java程序,但我得到空行. 当我尝试在bash中执行程序时:#bin/bashecho "aaa"我得到“aaa”,但当我试图执行相同的文件时#bin/bashjava MainApp我得到空行 这是java代码public class MainApp{public static void main(String[] args){System.out.print(":]");} }当我做:#bin/bashecho "aaa" java MainApp echo "bbb"我得到“aaa bbb” 我不会得到“:]”字符串如何使它工作? 也许使用System.ou...

php – 从exec()或shell_exec()调用时wget不工作【代码】

我正在尝试将我编写的wget命令集成到php脚本中.该命令以递归方式下载网站上的每个html / php文件(这是我在file_get_contents()中找不到的必需功能).我在终端窗口中测试了wget命令,但是当使用exec()或shell_exec()执行它时没有任何反应.我没有收到任何错误或警告. 这是有问题的命令,wget --recursive -m --domains oooff.com --page-requisites --html-extension --convert-links -R gif,jpg,pdf http://www.oooff.com/我尝试过exec...

我的shell for windows 10中找不到PHP命令,也没有在git bash中找到.我从这里尝试了所有可用的解决方案【代码】

当我在命令提示符下键入php时,结果C:\Users\samsung>php 'php' is not recognized as an internal or external command, operable program or batch file.我在我的Windows 10中安装了xampp,但我没有在设置中编辑php.ini文件.任何帮助启用这个PHP命令将非常感激,因为我在我的laravel作曲家设置库存由于这个.解决方法:您应该将php.exe路径添加到PATH环境变量 http://php.net/manual/en/faq.installation.php#faq.installation.addtop...

php – 如何忽略shell_exec中的错误?【代码】

我在PHP中获得了shell命令的输出$str = shell_exec("command");并在终端中运行PHP脚本.当shell命令返回错误时,它将打印在终端上.如何告诉shell_exec只返回命令输出而没有任何错误输出?解决方法:您只需通过将stderr重定向到/ dev / null来丢弃错误输出$str = shell_exec("command 2>/dev/null");非错误输出 – 标准输出 – 将像以前一样存储在$str中. 请注意,您不需要使用@运算符来抑制shell_exec上的错误或将其包装到try-catch块中...

php shell exec wget不在后台运行【代码】

我想按如下方式运行wgetshell_exec('wget "'http://somedomain.com/somefile.mp4'"'); sleep(20); continue my code...我想要的是让PHP等待shell_exec wget文件下载完成后再继续使用其余的代码.我不想等待一定的秒数. 我该怎么做,因为当我运行shell_exec wget时,该文件将开始下载并在后台运行,PHP将继续.解决方法:您的网址是否包含&字符?如果是这样,你的wget可能会进入后台,而shell_exec()可能会立即返回. 例如,如果$url是“http:...

php – Linux“at”命令在从shell运行时工作正常但在从webserver运行时失败【代码】

我正在使用“at”来设置用户在RHEL6.4上设置的未来操作.我在php中使用的命令是exec("echo \"php $script_path\" | at $run_time");脚本路径已设置为运行时的位置.当我从一个用php -a启动的shell运行时,这可以100%正常工作.当它从Web服务器运行时,创建了作业,但它似乎没有运行. >我已经验证:apache用户具有完整的读写执行权 访问目录和其中的所有文件夹.> exec命令 正在运行(毕竟创建了at作业.)>我已经验证了 工作正在服...

php执行异步shell命令

如题,业务需求,需要在php代码中以后台运行的方式启动多个脚本 听说exec()是一个不错的方法 经实地测试,exec()是同步方法 由于需求是以后台运行, 即nohup 的方式运行 成功运行一个脚本后会进入等待状态 此时后面的脚本无法继续被启动 需要外界输入一个中断才能退出 比如control + c 、exit等 尝试制造这个中断,未果 后来了解到,popen() 是php 提供的异步执行shell 命令的方法 遂用之 可用

从PHP调用的shell脚本问题【代码】

TLDR; 我有一个shell脚本,从命令行运行时工作正常,但如果从PHP脚本中调用(通过Web访问)则不行. 在这两种情况下,主叫用户都是www-data. 线路失败是这样的:openssl genrsa -des3 -out certs/$PCODE.key -passout env:PASSPHRASE 2048为什么会这样?我该怎么调试呢? 全文 我有以下脚本,它是this gist的略微修改版本,用于生成自签名SSL证书. 当我从终端运行它作为www-data时,它可以正常工作并生成密钥文件,CSR和SSL证书文件.但是当我...

SYSTEM - 相关标签
命令行 - 相关标签