Jump to content


Enabling SQLite in PHP 5.1.4

  • Please log in to reply
5 replies to this topic

#1 jfdutcher

  • Members
  • Pip
  • Newbie
  • 4 posts

Posted 21 July 2006 - 12:07 PM

I installed from the zip download to C:\PHP.

I uncommented the extension entry for the SQLite dll in php.ini.

I tried two versions of the extension-dir value...the original which was "./"
and replaced it with "C:\PHP\ext\"  (which is where the SQLite dll seems to be).

When a brief "testSQLite.php"  is run ....it does start up and 'print' literals that I have inside
appear.... until the first call to open or create a SQLite DB is made...then everything stops there
and the 'Done' literal appears at the bottom left of the screen.
Before when I foolishly installed just with the Windows 'installer' download...PHP at least
stated that the requested function could not be found when I ran the SQLite test script;
Now ...... nothing  ?? 

#2 Joe Haley

Joe Haley
  • Members
  • PipPipPip
  • Advanced Member
  • 103 posts
  • LocationCanada, eh?

Posted 22 July 2006 - 03:02 PM

have you done a phpinfo(); to see if the extension is actually working?

p.s: i don't claim to be an expert here, or even understand allot of it, but my extension-dir is set to 'C:\php\ext' (without the final trailing slash) and it works.
Give a man a fish; you have fed him for today.  Teach a man to fish; and you have fed him for a lifetime
Don't teach men to program. Teach them to fish.

Please, try the RTFM solution before asking for help:

#3 jfdutcher

  • Members
  • Pip
  • Newbie
  • 4 posts

Posted 25 July 2006 - 11:06 PM

Yes, phpinfo.php works fine.

I changed my extention-dir to "c:\php\ext" .....but it made no difference.

I placed php_pdo.dll,  php_pdo_sqlite.dll  and php_sqlite.dll in the PHP folder
as one input person suggested (they are already in the 'ext' folder....this had
no effect.

I'm hoping I can download SQLite independently of PHP and still work with it.

Thanks...... John

#4 wildteen88

  • Staff Alumni
  • Advanced Member
  • 10,482 posts
  • LocationUK, Bournemouth

Posted 26 July 2006 - 01:14 PM

When you make changes to the php.ini or move any files around within the PHP folder, you must restart the server.

Also move any php_*.dll files back into the ext folder. And just move the php.ini to the WINDOWS folder. Restart your server. Is PHP now reading the correct php.ini. Also it is a good idea to add the your PHP folder to the WINDOWS PATH variable. To do this do the following:
First goto Start > Control Panel (make sure its set to classic view) > System > Advanced Tab

Now click the Environment Variables button. Look for the Path variable within the System Variables window, scroll down if needed. Select it and press the Edit button. When the Edit System Variable window appears, immediatly press the End key on your keyboard, dont delete anything that is selected. Now add a semi-colon if there isnt one already to the left of the curser. Now type in C:\php;

Click OK to close the Edit System Variable Window. Click OK to close the System Variables Window, Click OK to close the System Properties window. Now restart your PC in order for the new path variable to become available. Now PHP should be able to access its own folder, therefor you dont need to move any files around.

#5 jfdutcher

  • Members
  • Pip
  • Newbie
  • 4 posts

Posted 26 July 2006 - 11:27 PM

I've done it all, to no avail...

Here's the key pieces of php.ini:    (now in c:\windows)
; Directory in which the loadable extensions (modules) reside.
extension_dir = "C:\PHP\ext"
extension=php_pdo_sqlite.dll  <--- some users observed these had to be 'last' in the series

Here's the autoexec.bat 'path' :  (in c:\windows\command\edb - (it's a Win ME OS))
call \checksr.bat
IF "%config%"=="QUICK" GOTO QUICK    etc.  etc. .....

Here's the 'test' script used on various 'sites'....the 1st (2) 'prints' 'work' - the script stops at the
first call to SQLite....no other output:


//create table
print "Came to script";  <------ this works
print  " ";                    <------ this works     
if(file_exists("test.db")) {
$weNeedToCreateTheDatabase = false;
} else {
$weNeedToCreateTheDatabase = true;


print ($weNeedToCreateTheDatabase);  <------ this works
//create or open database
$db = sqlite_open("test.db") or die("failed to open/create the database");
print ($weNeedToCreateTheDatabase);  <-----this doesn't happen
//create table
if($weNeedToCreateTheDatabase) {
sqlite_query($db, "CREATE TABLE Members(FirstName,LastName)");

//add info
sqlite_query($db,"INSERT INTO Members VALUES ('Jim', 'Rockerton')");

//get info
$dt = sqlite_query($db, "SELECT * FROM Members");
while ($row = sqlite_fetch_array($dt)) {
echo "row: $row[FirstName] $row[LastName]<br/>";

//close database


#6 jfdutcher

  • Members
  • Pip
  • Newbie
  • 4 posts

Posted 27 July 2006 - 12:07 AM

Many thanks to all........success at last.

I had set the PATH by editing the autoexec.bat file. This 'took' but had no effect on the
'ENVIRONMENT'  data that phpinfo  displays.

The suggested tabs in the very helpful 'super guru' notes couldn't quite be followed as the
'tabs' cited were not all present. I found a site that detailed Win ME PATH setting in particular
(it was for Java SDK...but non-the-less).  This allowed success in actually changing the PATH
that is apparently supplied to PHP (I gather it is not 'autoexec.bat'). Adding 'super guru's' suggested
c:\php to 'that' PATH .....finally let SQLite's testScript complete.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users