ID:               34868
 User updated by:  Bjorn dot Wiberg at its dot uu dot se
 Reported By:      Bjorn dot Wiberg at its dot uu dot se
-Status:           Feedback
+Status:           Open
 Bug Type:         SQLite related
 Operating System: AIX 5.2 ML5
-PHP Version:      5.0.5
+PHP Version:      5.1.0RC1
 New Comment:

Hello Tony!

Thanks for your reply!

The permission missing is "r" (allowing directory listings), which
needs to be present all the way.

Has something changed in the CVS recently (e.g., today) pertaining to
this issue? I have tried it on 5.1.0RC1.

The reason why I'm asking is that compilation, dependency checking etc.
takes several hours on this machine, and has to be introduced into a
production environment, so unless the PHP code for the SQLite extension
has actually changed since 5.1.0RC1 (e.g. a synchronization of the code
with the upstream provider, i.e., the SQLite developers), I'd like to
avoid recompiles as much as possible.

Eagerly awaiting your reply, and wishing you a nice weekend!

Best regards,
Björn


Previous Comments:
------------------------------------------------------------------------

[2005-10-14 13:13:40] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip


>"read" (directory listing)
So is it "r" (read) or "x" (directory listing)? Or both?

------------------------------------------------------------------------

[2005-10-14 10:15:47] Bjorn dot Wiberg at its dot uu dot se

Description:
------------
If the path to the database to be created or opened does not have
"read" (directory listing) rights all the way, sqlite_open() fails.

Presumably because of getcwd() usage.


If one specifies the full path to the database file to be opened or
created, everything appears to work just fine.

Similarly, if one makes sure that "read" rights are present all the
way, everything appears to work just fine as well.


I do not know if this is specific to PHP+sqlite or to SQLite itself.

I'm using the bundled SQLite (automatically detected during
./configure).

Reproduce code:
---------------
<?php
  if ($db = sqlite_open('mysqlitedb', 0666, $sqliteerror)) {
  //if ($db = sqlite_open('./mysqlitedb', 0666, $sqliteerror)) {
  //if ($db = sqlite_open(dirname(__FILE__) . '/mysqlitedb', 0666,
$sqliteerror)) {
     sqlite_query($db, 'CREATE TABLE foo (bar varchar(10))');
     sqlite_query($db, "INSERT INTO foo VALUES ('fnord')");
     $result = sqlite_query($db, 'select bar from foo');
     var_dump(sqlite_fetch_array($result));
  } else {
    die($sqliteerror);
  }
?>


Expected result:
----------------
Successful creation of the database in all cases:

array(2) { [0]=>  string(5) "fnord" ["bar"]=>  string(5) "fnord" }


Actual result:
--------------
CASE 1 (open "mysqldb"):

Warning: sqlite_open(): unable to open database: mysqlitedb in
/apache/htdocs/bwiberg/test/sqlite/sqlite.php on line 2 unable to open
database: mysqlitedb

CASE 2 (open "./mysqldb"):

Warning: sqlite_open(): unable to open database: ./mysqlitedb in
/apache/htdocs/bwiberg/test/sqlite/sqlite.php on line 3 unable to open
database: ./mysqlitedb

CASE 3 (open with full path):

array(2) { [0]=>  string(5) "fnord" ["bar"]=>  string(5) "fnord" } 



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=34868&edit=1

Reply via email to