Wasn’t there some problem that sqlite wasn’t designed for multiple concurrent accesses? I remember when I tried to fool around with the sqlite db while mt-daapd was running, that caused some problems.
Yes. The db is locked during transactions, so you have to have a timeout. If you have timeouts set in the php code and you do your business quickly in the db, it should be okay. The server should keep retrying for some time (30 sec, iirc) until it can get a lock on the db.