已解决:请参阅下面的答案
我遇到的问题与 Austin Hyde 在 this question 中遇到的问题相同.我有一个可以读取但不能写入的 SQLite 数据库。
具体来说,我收到一般错误:8 尝试在第 34 行的/var/www/html/green/database.php 中写入只读数据库
我的问题与他的不同之处如下:
-正如他的问题的答案中所建议的那样,我已经使数据库世界可写,以及数据库所在的文件夹,但没有成功。我还将数据库的所有者设置为“apache”和“nobody”,但没有成功。
-我已经设置了整个路径集 777,从/var 开始(我讨厌这样做),不高兴。
-我搞砸了 SELinux(我正在运行 Fedora 12)让 httpd 为所欲为;没有什么。
我觉得我几乎肯定在这里遗漏了一些简单的东西,但我没有想法。
为了允许 PHP/Apache 通过 PDO 读取和写入 SQLite 文件需要什么权限?
编辑:另一个related question ,增加了我在某处发生写权限冲突的假设。
请您参考如下方法:
对于那些无力完全禁用 SELinux 的人来说,这是一个可行的方法。
创建一个目录(比如 rw_data)及其所有内容可写给在 httpd_t 域类型中运行的任何进程,即。网络服务器进程,使用以下命令作为 root。
chcon -R -t httpd_sys_content_rw_t "/var/www/html/mysite/rw_data/"
您可以使用以下命令检查 SELinux 上下文标签:
ls -Z /var/www/html/mysite | grep httpd_sys_content_rw_t
这适用于 Fedora 16,也应该适用于其他启用了 SELinux 的 distros。

