草庐IT

exec_proc

全部标签

php - Curl_exec 在 php 中返回 null

我在使用curl操作获取数据时遇到问题。在这里我隐藏了token,如果我只在我的浏览器中使用url那么它返回数据但这里它是空的。我哪里做错了请帮助我。 最佳答案 这就是你可以尝试使用CURLOPT_RETURNTRANSFER来返回输出和curl_errno()来跟踪错误的方法:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,"http://example.com/my_url.php");curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURL

php - 如何捕获用 PHP exec 发出的命令的多行输出?

我正在尝试在PHP中执行系统命令并捕获那些输出涵盖多行的命令的输出。我正在使用exec(),但它似乎只为在一行上生成输出的命令返回一个值。例如,如果我在命令行运行date,我会得到:WedMay1515:07:32EST2013如预期的那样,如果我从PHP作为exec使用此命令运行此命令...exec("date",$exec_results);...然后$exec_results的值变成...Array([0]=>WedMay1515:07:32EST2013)但是,当我从命令行运行时,我得到了这个...real0m0.000suser0m0.000ssys0m0.000s...但是

php - 使用 proc_open 时从 STDIN 管道读取

我想做一个网站,人们可以在线编译和运行他们的代码,因此我们需要找到一种交互方式让用户发送指令。其实首先想到的是exec()或者system(),但是当用户要输入某事时,这种方式就不行了。所以我们必须使用proc_open()。比如下面的代码intmain(){inta;printf("pleaseinputainteger\n");scanf("%d",&a);printf("HelloWorld%d!\n",a);return0;}当我使用proc_open()时,像这样$descriptorspec=array(0=>array('pipe','r'),1=>array('pipe

PHP exec $PATH 变量缺少元素

当我在命令行中回显$PATH时,它返回/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Applications/MAMP/Library/bin:/usr/local/git/bin:/usr/X11/bin当我执行这段php代码时exec('echo$PATH;whoami;less/etc/paths;2>&1')我明白了string'echo$PATH;whoami;less/etc/paths;2>&1'(length=56)array0=>string'/usr/bin:/bin:/usr/sbin:/

php - 如何在 PHP exec 中使用管道 ("| ")?

我可以使用CMD同时执行两个命令:command1|command2在PHP中,我认为它应该可以工作,但它没有:Shell_exec("command1|command2");我该如何解决? 最佳答案 尝试添加大括号:shell_exec("(command1|command2)");有acomment在使用popen执行一些I/O重定向的PHP文档中。 关于php-如何在PHPexec中使用管道("|")?,我们在StackOverflow上找到一个类似的问题:

php - 替代 PHP exec() 函数

目前我正在使用:exec("zcat$filename",$output)要解压缩.Z类型的文件,但不幸的是我的托管公司现在已禁用此功能。有解决办法吗?$pathtofile="filename.lis.Z";exec("zcat$pathtofile",$output); 最佳答案 这样做echoini_get("disable_functions");了解您是否能够使用以下其中一项:系统();执行();直通();shell_exec();但如果它是共享主机,则上述所有内容肯定会被阻止,您将不得不寻找替代方案

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

在某些服务器上,不允许PHP通过shell_exec运行shell命令。如何检测当前服务器是否允许通过PHP运行shell命令?如何通过PHP启用shell命令执行? 最佳答案 首先检查它是否可调用,然后检查它是否被禁用:is_callable('shell_exec')&&false===stripos(ini_get('disable_functions'),'shell_exec');这种通用方法适用于任何内置函数,因此您可以将其通用化:functionisEnabled($func){returnis_callable($f

php - PHP proc_open 会阻止 Web 请求吗?

默认情况下,在Linux上,通过proc_open()创建进程是否会使PHP脚本在生成的进程终止之前不会终止?我不想这样,我立即关闭了进程句柄。proc_open本身不会阻塞,这很清楚。但是整体HTTP请求执行情况如何? 最佳答案 我周末有时间,所以我对*nix系统上的proc_open()做了一些研究。虽然proc_open()不会阻止PHP脚本的执行,即使shell脚本没有在后台运行,如果您不自己调用它,PHP会在PHP脚本完全执行后自动调用proc_close()。所以,我们可以想象我们在脚本末尾总是有一行proc_close

php - ImageMagick 在命令行中工作,但是当 exec() 在 php 中它返回 5 和 "incompatible library version"

我在OSX上使用MAMP(和Macports也一样......我都试过了)的php5.3.6和ImageMagick(命令行)遇到了一个奇怪的问题。当我从CLI运行identify命令时,它工作正常。但是当我使用exec()运行完全相同的命令时,它返回值代码5并且在apache错误日志中我有:dyld:Librarynotloaded:/opt/local/lib/libfreetype.6.dylibReferencedfrom:/opt/local/bin/identifyReason:Incompatiblelibraryversion:identifyrequiresversi

shell_exec 中的 PHP sudo

我想以root身份使用shell_exec执行命令。现在我知道这很危险,但请相信我,您需要使用MOD_AUTH登录并拥有访问此页面的正确权限。它是安全的。我怎样才能完成这项工作? 最佳答案 您可以使用最新的SVN版本phpseclib,apurePHPSSHimplementation,去做这个。例如。login('username','password');$ssh->read('[prompt]');$ssh->write("sudocommand\n");$ssh->read('Password:');$ssh->write(