For Programmers: Free Programming Magazines  


Home > Archive > PHP Documentation > December 2004 > #30955 [Opn]: PATCH: setting TEMP so SQLite will work on Windows









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author #30955 [Opn]: PATCH: setting TEMP so SQLite will work on Windows
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
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com