我有一个php脚本,其中包含一些文本文件写入操作。现在,如果我从浏览器执行脚本,通过使用它的 url 访问它,它工作正常并且文件写入完美。但是,当我使用命令从终端运行相同的脚本时,脚本会运行,但不会执行文件操作。我不确定为什么会发生这种情况。我知道这可能是一件愚蠢的事情,或者我丢失了一些 key 或任何东西,但目前无法弄清楚。
这是我正在使用的命令
/path/to/php -f /path/to/file
这是写入文本文件的代码:
$myFile = "filename.txt";
$fh = fopen($myFile, 'a+') or die("can't open file");
$str = "file content here";
fwrite($fh, $str);
fclose($fh);
感谢您的帮助。
最佳答案
这可能使用不同的路径。例如,当从终端运行时,它将在运行命令时所在的目录中查找“filename.txt”,而当从浏览器运行时,它将在与 PHP 文件相同的目录中查找。
要解决此问题,请使用您正在访问的文件的完整路径,而不仅仅是文件名。
关于php - 文件写入无法从终端运行,但可以从浏览器运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10949004/