允许 httpd (Amazon Linux 2) 从 SQLite3 数据库文件插入、更新和删除

问题描述

我创建了一个托管在 AWS 上的基于 PHP 的网站。有 HTML 表单链接PHP 脚本以插入、更新和删除数据。一个页面一个PHP 代码生成的 HTML 表格,该表格显示使用 SELECT 输入的数据。

后者工作正常 - 表加载并显示我直接播种到数据库中的数据。但是,我无法让前者正常运行。也就是说,代码没有连接到数据库并插入新值。提交的消息有效echo "<p>Thanks,{$_POST['update-name']}!</p>"。但它从未真正进入 .db 文件

我将数据库文件的权限更改为 -rw-r--r-- 1 apache apache 2048 Jan 8 22:18 friends_two.db。甚至给了它 777 访问权限。一切都无济于事。

当我在本地环境中运行 PHP -S 时一切正常。

这是来自网络服务器的错误信息

sqlite3::exec(): unable to open database file in /var/www/html/action.PHP on line 33,referer: https://$

我正在使用此代码打开数据库连接:

class MyDB extends sqlite3 {
     function __construct() {
         $this->open('friends_two.db');
     }
}
$db = new MyDB();
$db->exec(<sql COMMANDS>);

编辑:我通过将 .db 文件移动到它自己的目录并赋予它 apache:apache 权限来使其工作

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)