PHP:无法在 Bitnami Debian LAMP 上写入文件

Posted

技术标签:

【中文标题】PHP:无法在 Bitnami Debian LAMP 上写入文件【英文标题】:PHP: Can't write to file on Bitnami Debian LAMP 【发布时间】:2021-05-12 10:34:01 【问题描述】:

我的本​​地 Windows XAMPP 安装和共享托管服务器上的代码没有问题,但在 AWS LightSail Debian LAMP 安装上,代码停止工作且没有错误。

我正在创建一个临时文件,然后用 CSV 数据填充它。

$file = fopen($filename, 'w+') or die("Unable to create file!");
// Write header line
$header = "email_id, email_address, email_subject, email_timestamp, email_event" . php_EOL;
fwrite($file, $header) or die("Could not write headers to file");

有一个循环写入 CSV 数据...

$cRow = $email_id . ', "' . $email_address . '", "' . $email_subject . '", ' . $email_timestamp . ', "' . $email_event . '"' . PHP_EOL;
fwrite($file, $cRow) or die("Could not write headers to file"); 

该文件由用户 daemon 创建,而其余的 PHP 文件由 www-data

所有

我尝试更改用户权限和组等,但没有任何效果。内容没有被写入,并且没有“无法将标题写入文件”错误。文件大小保持为 0。

【问题讨论】:

使用命令行运行 PHP 代码时是否遇到任何错误? Apache 的日志 (/opt/bitnami/apache2/logs/error_log) 中是否有与此相关的错误? 【参考方案1】:

这里是 Bitnami 工程师,

Bitnami 解决方案中的 Apache 和 PHP-FPM 进程使用守护程序用户和组运行。这就是使用守护程序用户和组创建文件的原因。请确保用户和组对该文件夹具有读写权限。

sudo chown -R daemon:daemon /path/to/your/app/folder
sudo chmod g+w /path/to/your/app/folder

【讨论】:

我使用“sudo chown -R daemon:daemon ~/htdocs/admin”没有变化。仍然是空文件...

以上是关于PHP:无法在 Bitnami Debian LAMP 上写入文件的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Bitnami LAMP 堆栈上使用 Cron 运行 PHP Artisan 命令

PHP内存限制每天两次恢复到2M

Debian 放弃了对 .la 文件的支持;我现在如何构建?

修复:AWS Bitnami LAMP 堆栈错误中的 Laravel Git 克隆

Bitnami LAMP 堆栈 .htmaccess 不工作

如何使用 bitnami/linux 终端为我的 php 应用程序更改 php 版本