如何从php文件启动/停止linux上的应用程序?

如何从php文件启动/停止linux上的应用程序?,php,linux,bash,text-editor,gedit,Php,Linux,Bash,Text Editor,Gedit,我想从PHP访问以编辑任何txt文件(在gedit编辑器上)。 我正在尝试使用类似于: <?php shell_exec("gedit filename.txt"); ?> 但它甚至没有给出任何输出: $output=shell_exec("gedit filename.txt"); echo=echo"<pre>$output</pre>"; $output=shell_exec(“gedit filename.txt”); echo=echo“$o

我想从PHP访问以编辑任何txt文件(在gedit编辑器上)。
我正在尝试使用类似于:

<?php
shell_exec("gedit filename.txt");
?>

但它甚至没有给出任何输出:

$output=shell_exec("gedit filename.txt");
echo=echo"<pre>$output</pre>";
$output=shell_exec(“gedit filename.txt”);
echo=echo“$output”;

是否可以在linux上从PHP打开任何文件或应用程序?

shell\u exec
-通过shell执行命令,并以字符串形式返回完整的输出。输出在终端中输出

因此:

<?php
     $output = shell_exec('cat ' . $filename');
     echo "<pre>$output</pre>";
?>
"; ?> 这是打开和编辑文件的方式

<?php
shell_exec("DISPLAY=:0; gedit filename.txt");
?>


Gedit是gui的一个编辑器

你能做的是以下几点


首先确保在PHP配置()中启用了
shell\u exec
,并且Apache用户有足够的权限执行应用程序()

此外,对于Apache,为了在系统中运行图形工具,您必须定义它应该使用的显示;您可以在Apache启动文件中添加这一行:

或者将其添加到PHP脚本中:



我不想使用此命令获取一些文本,但我想打开内部带有可编辑文件的gedit,因此shell_exec可能是错误的命令。我想获取新的gedit GUI(而不是另一个浏览器窗口或选项卡)如果你找到了通过PHP获取gedit GUI的方法,请告诉我;-)按照我发布的方式,你既不会获得新的浏览器窗口,也不会获得新的选项卡。你只需要一个HTML文本区域,在其中放入$file_内容并对其进行编辑。我不希望gedit位于浏览器内部,而是希望gedit的新实例位于浏览器外部(打开了editable filename.txt)。你到底想通过它来实现什么?我想获得指向本地文件(pdf、txt、png…)或我需要的目录的快捷方式/书签/链接。
<?php
    $myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
    echo fread($myfile,filesize("webdictionary.txt"));
    fclose($myfile);
?>
// instead of less you could also use cat
$file_content = shell_exec("less filename.txt");
// ...
// manipulate the data via a textarea with html and php
$new_file_content = $_POST['textarea'];
$write_to_file = shell_exec("echo \"".$new_file_content."\" > filename.txt");
export DISPLAY=:0.0
<?php
shell_exec("DISPLAY=:0; gedit filename.txt");
?>