Jump to content
  • 0

Проблема с SQLite3 на Ubuntu.


Doogy
 Share

Question

Добрый день!

Я занимаюсь по урокам РНР Специалист. Кто в курсе, тот знает, что на 3-м курсе (сорри=) есть тема SQLite.

Закачал себе SQLite, подправил .ini, но всё равно летели ошибки. Потом обнаружилась вот такая интересная деталь:

sqlite_open

(PHP 5 < 5.4.0, PECL sqlite >= 1.0.0),

а у меня PHP Version 5.4.6-1ubuntu1.2. Да и друг мне посоветовал переходить на 3-ю версию. Хотя, в данном случае, слово "Переходить" не подходит, ведь я только начинаю знакомство с PHP и БД.

Итого, решил тот урок сделать с помощью SQLite3. К сожалению, даже код из мануала:


<?php
/**
* Simple example of extending the SQLite3 class and changing the __construct
* parameters, then using the open method to initialize the DB.
*/
class MyDB extends SQLite3
{
function __construct()
{
$this->open('mysqlitedb.db');
}
}
$db = new MyDB();
$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");
$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>

выдаёт такую ошибку:

Fatal error: Uncaught exception 'Exception' with message 'Unable to open database: unable to open database file' in /home/user/www/php/index.php:10 Stack trace: #0 /home/user/www/php/index.php(10): SQLite3->open('mysqlitedb.db') #1 /home/user/www/php/index.php(14): MyDB->__construct() #2 {main} thrown in /home/user/www/php/index.php on line 10

Думал, может дело в правах доступа, но нет, что-то другое.

Подскажите пожалуйста, как настроить SQLite3?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Optional flags used to determine how to open the SQLite database. By default, open uses SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE.


  • SQLITE3_OPEN_READWRITE: Open the database for reading and writing.

  • SQLITE3_OPEN_CREATE: Create the database if it does not exist.

Как вы понимаете, дефолтно должен создаваться, если его нет...

Link to comment
Share on other sites

  • 0

А я его через PDO использую, всё нормально работает. В моём варианте он должен в конструкторе сам создать файл, поэтому, действительно, что-то с правами если только.

Link to comment
Share on other sites

  • 0

Так проверил я ваш код на локальной машине , код отработал, файлбазы создался. Так что скорее всего у вас всеже проблема с правами. Проверяйте права на запись в директорию для пользователя или группы от которого запускается апач.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy