PHP文件中的Shell命令:显示网页中文件的内容


Shell Command in PHP file : Display the content of a file in a webpage

我需要一些帮助,如何在php文件中执行shell命令?关于如何在网页中显示文件的内容。

我测试了这个脚本,它可以

<?php
$output = shell_exec('ls /var/www/vhosts/resame');
echo "<pre>$output</pre>";
?>

但是这个脚本没有显示任何内容。

<?php
$output = shell_exec('cat /var/log/mail.log');
echo "<pre>$output</pre>";
?>

首先运行此命令(基于您的apache用户)

CHMOD 777 /var/log/mail.log

如果apache用户是无名小卒CHOWN nobody /var/log/mail.log

如果apache用户是www数据CHOWN www-data /var/log/mail.log

然后使用以下内容在网页上显示数据。

<?php
$output = shell_exec('cat /var/log/mail.log 2>&1');
echo "<pre>$output</pre>";
?>

好的一个@DJ,让我补充一下,/var/log/mail.log的权限777是不必要的,因为你只读取文件内容,权限644应该足够了。我不需要过分强调将您的公共文件权限更改为777的安全含义。