首页 / 知识
SQLite / PHP只读?
2023-04-15 06:03:00

SQLite/PHP read-only?我一直在尝试将SQLite与PHP中的PDO包装器一起使用,但取得了成功。我可以从数据库中正常读取,但是当我在浏览器中查看页面时,没有任何更新提交到数据库。奇怪的是,从我的shell运行脚本确实会更新数据库。我怀疑文件权限是罪魁祸首,但是即使数据库提供了完全访问权限(chmod 777),问题仍然存在。我应该尝试更改文件所有者吗?如果是这样,该怎么办? 顺便说一句,我的机器是标准的Mac OS X Leopard安装,并激活了PHP。 @汤姆·马丁 谢谢您的回复。我只运行了您的代码,看起来PHP以用户_www的身份运行。然后,我尝试将数据库归于_www所有,但这也不起作用。 我还要注意,PDO的errorInfo函数并不表示发生了错误。这可能是PDO的设置,以某种方式打开了只读数据库吗?我听说SQLite对整个文件执行写锁定。数据库是否可能被其他阻止写入的东西锁定了? 我已决定包括相关代码。这将或多或少地将Grant的脚本移植到PHP。到目前为止,这只是"问题"部分:
凯尔(Kyle),为了使PDO / Sqlite工作,您需要对数据库所在目录具有写许可权。 另外,我看到您在循环中执行多个选择。如果您要构建的东西很小而不是很重,那可能没问题。否则,我建议构建单个查询以返回多个行并在单独的循环中对其进行处理。 我在PHP手册"包含数据库文件的文件夹必须是可写的"中找到了答案。 对于那些在OS X上遇到SQLite只读问题的人: 1)确定Apache httpd用户和该用户所属的组:
2)在/ Library / WebServer / Documents中为您的数据库创建一个子目录,并将该组更改为httpd的组:
不太安全的选项是打开/ Library / WebServer / Documents的权限:
我认为PHP通常以用户" nodody"的身份运行。虽然不确定在Mac上。如果Mac具有whoami,则可以尝试
好吧,我现在遇到了同样的问题,并通过一个错误解决了这个问题:只需将每个插入的SQL指令放在一个
汤姆 无论哪种方式,包含该数据库的文件夹都必须是脚本可写的,或者是同一用户,或者是将写权限设置为php用户。
@米哈尔 |
最新内容
相关内容
浏览器调用linux命令?
浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,服务,求助大神,如何通过网页使用python向linux系统发送一些命令执linux命令大全数据库?
linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)登录linux脚本多个命令?
linux脚本多个命令?,系统,工作,标准,服务,命令,软件,管理,连续,电脑,设备,linux脚本如何一键授权并执行1、chmod u+x file,如果只给文件所有者linux上数据库的命令?
linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,在Linux上用命令怎么连接数据库(linux连接oracle数据库命令)1、登linux命令dm数据库?
linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,linux创建dm数据库超时linux/sys下无法新建 方法如下打开c盘,在用户linux命令读取前十个?
linux命令读取前十个?,时间,系统,最新,文件,名称,标准,密码,工作,适当,信息,linux写脚本,需要ls只显示前10个文件,怎么实现?在linux中如果用lslinux脚本注释命令?
linux脚本注释命令?,代码,系统,工作,名称,地方,脚本,命令,信息,状态,简介,linux脚本里的#! 是什么意思1、方法一:切换到shell脚本所在的目录(此脚本运行linux命令?
脚本运行linux命令?,系统,环境,工具,工作,位置,底部,代码,发行,官网,终端,linux下shell脚本命令PS1 主提示符,在特权用户下,默认的主提示符是#,在linux安装浏览器命令?
linux安装浏览器命令?,官网,系统,平台,网站,管理,设备,咨询,工具,官方网站,软件,linuxcentos浏览器在哪里1、linux安装google浏览器方法如下:启linux读取码值命令?
linux读取码值命令?,系统,工作,地址,证书,命令,工具,档案,文件,设计,信息,基本linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux命令下写脚本?
linux命令下写脚本?,服务,系统,环境,代码,名称,命令,脚本,发行,在线,情况,三个简单Linux的shell脚本程序编写Shell编程实战 实现文件备份 文件linux把命令变成脚本?
linux把命令变成脚本?,系统,环境,工作,脚本,命令,信息,基础,代码,文件,变量,如何编写简单的Shell脚本文件之Linux的基本操作1、在开始Shell编