php - 运行 linux 命令以通过 PHP 输出到文本文件

标签 php linux

我试图让以下 linux 命令使用 PHP 工作。我阅读了 PHP 中的 shell_exec 命令,它可用于执行 shell 命令。

我正在尝试将一些简单的文本输出到文本文件。我尝试了以下方法:

<?php
    $cmd = 'echo "hi" > Desktop/test/output.txt';
    shell_exec($cmd);
?>

请注意,我在 Ubuntu 16.04 上运行它。我还使 www-data 成为 Desktop/test 文件夹的所有者,以便它可以写入。以下是我为此使用的命令:

sudo chown -R www-data:www-data Desktop/test

当我执行上述命令时,直接在 shell 中我可以看到使用字符串输出创建的 output.txt 文件。

但是,当我通过 apache 网络服务器执行 php 脚本时,我看不到正在创建的 output.txt 文件。

很高兴你能指出我正确的方向。

谢谢

最佳答案

正如我在评论中所说:您应该使用绝对路径。

<?php
    $cmd = 'echo "hi" > /home/username/Desktop/test/output.txt';
    shell_exec($cmd);
?>

关于php - 运行 linux 命令以通过 PHP 输出到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45433444/

相关文章:

c++ - 应用程序崩溃时未删除 Unix 域套接字文件

javascript - 在 Javascript 代码中获取 PHP 变量

php - 通过 $_GET 传递外键

php - 如何从 php 中的内容中删除链接?

linux - 如何查询X11显示分辨率?

sql - 从函数 postgresql 输出到屏幕并记录文件

linux - 与库交叉编译

linux - Windows 10 更新后无法访问 virtualbox 中的网站

php - 将 float 转换为 HH :MM format

日志分析器中的 PHP 脚本超时