I collect some things now: My hoster:
pdo_sqlitePDO Driver for SQLite 3.x enabled PECL Module version 1.0.1 $Id: pdo_sqlite.c,v 1.10.2.6.2.4 2008/12/31 11:17:42 sebastian Exp $ SQLite Library 3.3.8 SQLiteSQLite support enabled PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.12 2008/12/31 11:17:44 sebastian Exp $ SQLite Library 2.8.17 SQLite Encoding UTF-8 My home server: pdo_sqlitePDO Driver for SQLite 3.x enabled SQLite Library 3.6.20 SQLiteSQLite support enabled PECL Module version 2.0-dev $Id: sqlite.c,v 1.166.2.13.2.9.2.22 2009/06/25 09:38:04 johannes Exp $ SQLite Library 2.8.17 SQLite Encoding iso8859 sqlite3SQLite3 support enabled SQLite3 module version 0.7-dev SQLite Library 3.6.16 --------------- Seems that there are missing the sqlite3 library, but i use 2.8.17, because the sqlite 3 version don't work on both systems. Okay, should i ask my hoster if they there is an way, to set the default path to tmp dir from the server? This should normaly so, or? with best wishes Artur --------------- > You could also set the temp_store pragma such that *most* temp files are > created in memory. I say most, because even though you set temp_store > to memory, there is still one temporary file(statement journal) which > will still need to use the temp_store_directory. > > I suppose another possibility is to set the temp environment variable. > > I have just noticed that your version of sqlite is way old... so I'm > very unsure if anything I've suggested is of any use. I know the > environment variable did not work in 3.5.9, but does in 3.6 and up. > > Artur Reilin wrote: >> I can, but doesn't there exists an another way? >> >> >>> I believe you can specify the directory in which temporary files will >>> be >>> created. This is done with pragma temp_store_directory. I think you >>> can also set this in compilation. >>> >>> Artur Reilin wrote: >>>> >>>>> >>>>> On 19 Nov 2009, at 8:05am, Artur Reilin wrote: >>>>> >>>>>> My host have sqlite support vor sqlite 2.8.17 and i can use it. But >>>>>> i >>>>>> have >>>>>> to give chMod 0777 to the directory where i use sqlite. Not only on >>>>>> the >>>>>> directory, that contains the sqlite database. let me show it: >>>>>> >>>>>> /index.php (uses sqlite database) >>>>>> /data/data.sqlite (sqlite database) >>>>>> >>>>>> If i give chMod 0777 to /data/ and the files in this folder, it >>>>>> wouldn't >>>>>> work and get me an "malformed database - cannot create temp tables". >>>>>> >>>>>> I need to gibe chMod to the directory which contains the index.php >>>>>> file. >>>>>> That's a big security risk and i don't want to give chMod to the >>>>>> main >>>>>> directory. >>>>>> >>>>>> Is this normal and can i change this? >>>>> >>>>> You do not actually need 0777. Your problem is that the user which >>>>> is >>>>> creating and using the database is the user that runs Apache, not >>>>> yourself. So find out which user Apache runs under. This might be >>>>> perhaps www or _www or _apache. Make sure that that user has the >>>>> rights >>>>> over this directory. Then Apache (running the .php script) which >>>>> have >>>>> enough access to use the database file. >>>>> >>>>> Simon. >>>> >>>> The user which runs php (or has the highest rights) is called nobody. >>>> The >>>> support said me, that i need to set the directory to this user, but it >>>> also don't work. I get the same error as before. I can try it again, >>>> but >>>> the last time it didn't work. >>>> >>>> I also wondering why my oop version of my script didn't work, but the >>>> prozedural one does. They have pdo drivers like mine xampp server, but >>>> they don't have the sqlite3 drivers. Perhaps this also happens because >>>> of >>>> the malformed database error... >>>> >>>> With best wishes >>>> >>>> Artur Reilin >>>> sqlite.yuedream.de >> >> Artur Reilin >> sqlite.yuedream.de Artur Reilin sqlite.yuedream.de _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users