【问题标题】:print results from a command line argument从命令行参数打印结果
【发布时间】:2023-04-03 10:37:01
【问题描述】:

好的,最后一个问题,我的这个脚本已经完成 :) 我在我的邮件服务器上安装了 pflogsumm,并且我已经完成了(完全丑陋但功能齐全)的 php 邮件服务器管理脚本,可通过任何浏览器的 https 连接使用。我想在登录时运行以下命令并在登录页面上显示结果:

pflogsumm /var/log/mail.log

此命令在命令行中运行 我已经尝试了 exec() 和 shell_exec(),但我得到了一个空白屏幕。

【问题讨论】:

  • 是 pflogsumm 在 PHP 执行时使用的任何 shell 的路径中吗?您的网络服务器的用户 ID 是否允许运行该脚本?是否允许读取 /var/log 目录和/或 mail.log 文件?在命令行运行但不是从网络服务器运行的脚本通常总是归结为权限问题。
  • 它的程序。并且日志文件显示是它读取的文件
  • exec 返回:The last line from the result of the command。使用输出参数。
  • 好吧,事实证明 shell_exec 是正确的做法,因为我拥有可执行文件的正确文件路径。它将它显示为文本换行,而不是像在 ssh 会话中那样的整洁列。
  • 是代码

标签: php shell command-line shell-exec


【解决方案1】:
<?php echo shell_exec('/usr/sbin/pflogsumm /var/log/mail.log'); ?>

显然是正确的代码,我所要做的就是找到程序的正确路径。 在查看源代码中,我得到的统计信息就像它们在命令提示符中一样显示,但在网页上它显示为在句子上运行...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2020-05-05
    • 2016-05-01
    相关资源
    最近更新 更多