Php 从PDO增加SQLite中附加数据库的限制

Php 从PDO增加SQLite中附加数据库的限制,php,pdo,sqlite,Php,Pdo,Sqlite,我正在做一个项目,每个表使用一个数据库文件应该会带来很大的好处,这主要是因为我正在尝试,但也是因为 我曾想过使用来为我的所有表创建一个“虚拟”数据库,但我刚刚发现,虽然附加数据库的上限是62(这对我来说完全可以接受),但附加数据库的默认限制实际上是10,来自: 连接数据库的最大数量 ATTACH语句是一个SQLite扩展,允许两个或多个 要关联到同一数据库连接和的数据库 将它们当作单个数据库进行操作。人数 同时连接的数据库仅限于SQLITE_MAX_-attached 默认设置为10。SQLit

我正在做一个项目,每个表使用一个数据库文件应该会带来很大的好处,这主要是因为我正在尝试,但也是因为

我曾想过使用来为我的所有表创建一个“虚拟”数据库,但我刚刚发现,虽然附加数据库的上限是62(这对我来说完全可以接受),但附加数据库的默认限制实际上是10,来自:

连接数据库的最大数量

ATTACH语句是一个SQLite扩展,允许两个或多个 要关联到同一数据库连接和的数据库 将它们当作单个数据库进行操作。人数 同时连接的数据库仅限于SQLITE_MAX_-attached 默认设置为10。SQLite中的代码生成器使用 用于跟踪附加数据库的位图。这意味着 附加数据库的数量不能增加到62以上

因为我需要支持10多个表,所以我的问题是,如何将
SQLITE\u MAX\u ATTACHED
变量从PHP设置为更高的值(使用带有SQLITE 3的PDO)?

这些限制是有限的


你必须重新编译PHP来改变它们。

看起来是开始使用数据库的好时机。@你的常识:你和你的智慧……AixxAx:你是否考虑转换到真正的数据库,比如PostgreSQL或MySQL?@ MVP:我没有,因为我试图做的整个点都围绕SQLite,我可以谈一些细节,但我不想谈。这是一个我需要客观回答的问题(可能是一个解决方案——可能使用PRAGMA或一些未记录的PHP/PDO函数,也可能不是),而不是你认为我可能需要的。SQLite是一个真正的(虽然没有服务器)数据库。@AlixAxel:我知道你从哪里来。请不要误解我的意思-我绝对喜欢SQLite,因为它在正确使用时可以做什么,我同意它是真正的数据库。话虽如此,有时你应该后退一步,重新评估你正在做的事情——如果你愿意,就跳出框框思考。如果您确实遇到SQLite锁定问题,那么PostgreSQL可以完美地解决这个问题。从您链接到的页面来看,这并不十分准确:“编译时选项通常设置一个硬上限,可以在运行时使用sqlite3_limit()接口对各个数据库连接进行更改”。“硬上限”这意味着它只能在运行时降低。事实上,你是对的。我链接到的另一个页面明确指出,我猜它跳过了我的眼睛。。。您知道该选项是否会列在
PRAGMA compile_options在我重新编译SQLite之后?这些限制,尽管在编译时设置,但不被视为编译选项。@CL。我发布了这个问题。在这里: