| Danielc At Analysisandsolutions Dot Com 2004-12-29, 8:56 pm |
| ID: 30955
User updated by: danielc at analysisandsolutions dot com
Reported By: danielc at analysisandsolutions dot com
Status: Open
Bug Type: Documentation problem
Operating System: Windows
PHP Version: Irrelevant
New Comment:
Nicely put nlopess. By the way, I've tweaked the patch in the last few
minutes. So, if it gets used, please obtain a fresh copy from the URI,
above.
Previous Comments:
------------------------------------------------------------------------
[2004-12-29 20:25:28] nlopess@php.net
I've checked libsqlite code. It is using GetTempPath() on windows to
get a temporary file.
(http://msdn.microsoft.com/library/e...gettemppath.asp)
According to MSDN docs the order is:
1. The path specified by the TMP environment variable.
2. The path specified by the TEMP environment variable.
3. The path specified by the USERPROFILE environment variable.
4. The Windows directory.
So, I think this should be documented.
------------------------------------------------------------------------
[2004-12-29 18:02:01] mez@php.net
Isn't this more a SQLLite problem than a documentation problem/PHP
Problem?
------------------------------------------------------------------------
[2004-12-02 22:47:46] danielc at analysisandsolutions dot com
I'm talking about Windows 2000 Pro and XP Pro.
TEMP _might_ be set if the web server is running under the SYSTEM
account. But if the web server service is running under an unprivilged
user account TEMP isn't automatically available.
If TEMP isn't set, the sqlite extension goes to write the temporary
files into the windows directory. Not a good idea.
------------------------------------------------------------------------
[2004-12-02 18:59:53] nlopess@php.net
But windows *always* set the TEMP var by default, doesn't it?
I never had such problems on windows...
To which version of windows are you refering to? Windows 9x?
------------------------------------------------------------------------
[2004-12-02 02:45:47] danielc at analysisandsolutions dot com
Description:
------------
If the TEMP environment variable isn't set and the computer in question
has some semblance of security, the following error comes up:
malformed database schema -
unable to open a temporary database file for storing temporary
tables
This is a common problem that has been asked in various forums.
Here is a documentation patch to explain what needs to be done in order
to get SQLite to work on secure Windows machines:
http://www.analysisandsolutions.com/php/sqlitetemp.diff
Thanks.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=30955&edit=1
|