草庐IT

auto-start-shell

全部标签

php - 以不同(非 root)用户身份从 PHP 运行 shell 脚本

我正在尝试在Ubuntu服务器上通过PHP运行非特权用户拥有的shell脚本。权限问题使得使用exec()运行它变得不切实际,因为运行它的是www-data。我在谷歌上搜索了一下,发现了对suExec的各种引用(对于这样一个小问题,这似乎太麻烦了),设置suid位,以及Stackoverflow上的一个有趣的方法,涉及Python服务器监听发送的命令通过PHP。无论如何,在所有这些解决方案中,我倾向于涉及设置suid位的解决方案,尝试过但没有用:chmodu+sscript.sh,以及我的Apache日志仍然显示权限错误,所以我知道脚本不是以其所有者的身份运行,而是以www-data的

php - Zend_Soap - 错误解析 WSDL : Start tag expected, '<' 未找到

对于完全有效的同一个WSDL,我可以像这样使用PEARSOAP正确访问它:$WSDL=newSOAP_WSDL($this->wsdlUrl);$proxy=$WSDL->getProxy();但是不能让它通过Zend_Soap工作,当这样使用时:$soapclient=newZend_Soap_Client($this->wsdlUrl);通过Zend_Soap_Client访问时出现以下错误:Error:SOAP-ERROR:ParsingWSDL:Couldn'tloadfrom'https://abc.xyz.com/agent/TestService.php?wsdl':St

php - 无法以完全权限运行 shell 脚本 (UNIX)

我有一个在php脚本中创建的shell脚本(具有完全权限)。当我尝试从终端运行shell脚本时,我没有收到任何错误,但脚本没有运行(没有命令执行)。虽然,一旦我复制shell脚本的内容,将它们粘贴到XCode中的一个新文件中,并覆盖旧的shell脚本,它就可以正常运行。有什么建议吗?很长一段时间以来,我一直在努力解决这个问题,但没有任何进展。我假设从php脚本编写shell脚本存在问题,因为它在XCode或文本编辑器中编写时有效。这里是写shell脚本的php脚本:$filePath="/Applications/MAMP/htdocs/php/Batch/modulator/Rele

php - 使用 cookie 维护 PHP session_start()

我有一段使用session_start()启动session的PHP代码。那么,在用户登录后,将被带到profile.php,其中显示了该用户信息。但是当用户重新加载页面时,session就消失了。例如,有什么办法可以将它维持一个小时吗?我试过cookie,但我不知道如何告诉PHPsession已经开始。谢谢!cookie和session启动的Profile.php代码:if(isset($HTTP_COOKIE_VARS['session'])){session_start();}else{header('Location:index.php');}登录码:session_start

php - PHP 中的 session_start()

HTMLHTML$i){$id=mysql_result($result,$i,"Id");$address=mysql_result($result,$i,"address");$title=mysql_result($result,$i,"title");$_SESSION[i]=$id;}?>">此代码仅向选项添加一个元素。如果我评论session_start()那么所有值都插入到选择中。但是如果我不使用session_start那么我不能验证登录的用户。我的代码怎么了? 最佳答案 我假设您指的是$_SESSION[]数组中的

php - ob_start 和 ob_gzhandler 函数到底做了什么

我知道ob_start开启了输出缓冲,但我不完全明白它的意思。对我来说,这意味着它只是停止输出脚本数据。这是真的吗?这种情况下浏览器是怎么输出数据的,最后是不是要用ob_end_flush()关闭?既然ob_gzhandler对网页进行了压缩,那么浏览器是如何处理这些网页的呢?我在代码中看到了ob_start("gzhandler"),因为ob_gzhandler压缩网页,那么ob_start("gzhandler")是什么意思,它如何应用于这两个功能?感谢所有帮助! 最佳答案 输出缓冲意味着不是将输出直接写入标准输出流,而是写入缓

php - 如何使用 PHP 的实时反馈运行 shell 脚本?

如何在向浏览器提供持续/实时反馈的同时从PHP执行shell脚本?我从system了解到功能文档:Thesystem()callalsotriestoautomaticallyflushthewebserver'soutputbufferaftereachlineofoutputifPHPisrunningasaservermodule.我不清楚他们将其作为“服务器模块”运行是什么意思。示例PHP代码:示例shell代码:#!/bin/bashecho"Start..."foriin{1..10}doecho"$i..."sleep1doneecho"Done."这是做什么的:它将等待

php - 当使用 php exec() 运行 shell 脚本时,一个脚本可以工作(只执行 git status)而另一个不可用(执行 git checkout)。怎么会?

我正在尝试设置一个基于Web的门户,通过它我们可以通过简单地单击后端面板来检查Git存储库的不同分支。目前,我有/var/www/devportal,其中包含index.php、status.sh和checkout.sh在index.php中,我执行以下操作:$repo=$_GET['repo'];$command='shstatus.sh'.$repo;$output=exec($command);echo"$output";status.sh的内容是:#!/bin/bash-eif[$#-ne1]thenecho"Usage:`basename$0`"exit1ficd/var/w

php shell_exec bash.exe 在 Window XP IIS 中不工作

生成的b.php".$output."";}else{echo'ThisisaservernotusingWindows!';$output=shell_exec("bashmysql2sqlite.sh-h127.0.0.1-uroot-pApacheah64db_shuttlebustbl_drivertbl_locationtbl_ratetbl_routetbl_routeidtbl_vehicle|sqlite3/var/www/BusTicket/exportdatabase/database.sqlite");echo"".$output."";}?>这是输出的错误War

php - 从 php 执行 shell 脚本在 Windows (Xampp) 上打开文件

我正在尝试从我的PHP文件运行脚本。当我运行脚本时,它只是打开我的记事本而不是执行文件。我已授予文件夹读写权限,尝试通过SSH(因为我使用Vagrant)和cmd运行。但似乎没有任何效果。我认为我的代码是正确的,您可以在下面找到:$output=shell_exec(getcwd()."/scripts/row.sh2>&1");谁能帮帮我? 最佳答案 这是因为您的OPENWITHfor.sh文件设置为notepad。检查以下输出:my_prompt>assoc.sh.sh=sh_auto_file^^^^^^^ftypesh_au