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 命令
Debian 放弃了对 .la 文件的支持;我现在如何构建?
修复:AWS Bitnami LAMP 堆栈错误中的 Laravel Git 克隆