Автор Тема: Проблема с sqlite на php 5.3 - ubuntu  (Прочитано 589 раз)

0 Пользователей и 1 Гость просматривают эту тему.

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« : Февраль 15, 2012, 11:41:15 am »
Стоит система:
Ubuntu Server
apache22+nginx+php53

В php-info показывает что все стоит, то что я ставил:

PDO
PDO drivers -    mysql, sqlite

pdo_sqlite
SQLite Library    3.7.7

sqlite3
SQLite3 module version    0.7-dev
SQLite Library    3.7.7

sqlite3.extension_dir   no value   no value

Но при открытии файла выдает:

<?php
  
// Создадим базу данных
  
$db sqlite_open("my_database.db");
  if (!
$db) exit("Не удалось создать базу данных!");
?>



Fatal error: Call to undefined function sqlite_open() in /var/www/sait/3.php on line 3

Как можно решить проблему с sqlite ?

Driver

  • Супермодератор
  • Сообщений: 1715
  • Репутация: 22.25
  • OS:
  • Linux Linux
  • Browser:
  • Opera 11.01 Opera 11.01
    • Просмотр профиля
    • i'am on linux.com
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #1 : Февраль 15, 2012, 12:11:42 pm »
а права писать в папку со скриптом веб-сервер имеет?
Знаю отличную шутку про UDP, но не факт что она до вас дойдет.

t1bur1an

  • Участник форума
  • Сообщений: 538
  • Репутация: 5.65
  • OS:
  • Linux Linux
  • Browser:
  • Chrome 16.0.912.63 Chrome 16.0.912.63
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #2 : Февраль 15, 2012, 12:12:19 pm »
мне кажется что проблема связанна с тем что не прописаны соотв. модули в php.ini. гляньте в эту сторону.
принимать роды у соевой колбасы при помощи аргонной сварки?
форум профессионалов, хуле (c)зеленый

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #3 : Февраль 15, 2012, 12:20:36 pm »
Вот:

/etc/php5/apache2/conf.d# ls

curl.ini 
imagick.ini 
intl.ini     
mcrypt.ini   
ming.ini   
mysql.ini 
pdo_mysql.ini   
pspell.ini 
snmp.ini     
ssh2.ini 
xmlrpc.ini
gd.ini   
imap.ini     
ioncube.ini 
memcache.ini 
mysqli.ini 
pdo.ini   
pdo_sqlite.ini 
recode.ini 
sqlite3.ini 
tidy.ini 
xsl.ini

/etc/php5/apache2/conf.d#


# cat pdo.ini
; configuration for php PDO module
extension=pdo.so

# cat pdo_sqlite.ini
; configuration for php SQLite module
extension=pdo_sqlite.so

# cat sqlite3.ini
; configuration for php SQLite3 module
extension=sqlite3.so


Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #4 : Февраль 15, 2012, 12:49:18 pm »
cubespace, поправьте код:
sqlite3_open
функция sqlite_open для sqlite < 2.x.x
« Последнее редактирование: Февраль 15, 2012, 12:50:56 pm от Pascal »
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #5 : Февраль 15, 2012, 12:58:29 pm »
Не помогло(

Fatal error: Call to undefined function sqlite3_open() in

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #6 : Февраль 15, 2012, 01:27:29 pm »
Каюсь,  наврал

public void SQLite3::open ( string $filename [, int $flags = SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE [, string $encryption_key ]] )
http://php.net/manual/ru/sqlite3.open.php

Example #1 SQLite3::open() example

<?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());
?>

http://phptutorial.info/?sqlite3.open
« Последнее редактирование: Февраль 15, 2012, 01:31:41 pm от Pascal »
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #7 : Февраль 15, 2012, 01:52:06 pm »
Вот что получаем:

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


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

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #8 : Февраль 15, 2012, 03:02:12 pm »
cubespace, А эта база то существует? mysqlitedb.db
---
И кстати непонятно, поечму в первоначальном вопросе в коде комментарии "создать базу" вместо "открыть базу"
« Последнее редактирование: Февраль 15, 2012, 03:03:43 pm от Pascal »
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #9 : Февраль 15, 2012, 03:21:15 pm »
Ошибка предыдущая, из за отсутствия файла базы

создал базу (точнее взял уже готовою)

И вот что теперь:


Warning: SQLite3::exec(): file is encrypted or is not a database in /var/www/sitee/3.php on line 16 Warning: SQLite3::exec(): file is encrypted or is not a database in /var/www/site/3.php on line 17 Warning: SQLite3::query(): Unable to prepare statement: 26, file is encrypted or is not a database in /var/www/site/3.php on line 19 Fatal error: Call to a member function fetchArray() on a non-object in /var/www/site/3.php on line 20


Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #10 : Февраль 15, 2012, 03:40:45 pm »
cubespace, Попробуйте через PDO SQLite

<?php
    
/*** make it or break it ***/
    
error_reporting(E_ALL);

    try
    {
        
$sql "CREATE TABLE animals (
        animal_id INTEGER PRIMARY KEY,
        animal_name TEXT NOT NULL,
        animal_type TEXT UNIQUE NOT NULL,
        last_updated TIMESTAMP NOT NULL
        )"
;

        
/*** create the database file in /tmp ***/
        
$dbh = new PDO("sqlite:/tmp/animals.sqlite");

        
/*** set all errors to excptions ***/
        
$dbh->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION);

        
/*** run the create table query ***/
        
$dbh->query($sql);

        echo 
'done';
    }
    catch(
PDOException $e)
    {
        echo 
$e->getMessage();
    }
?>
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #11 : Февраль 15, 2012, 03:44:16 pm »
Ответ:

done

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #12 : Февраль 15, 2012, 03:45:03 pm »
Ответ:

done
Ну собсно все, рабочий метод найден :)
cout << "Shalom World!\n"; // (с)

cubespace

  • Участник форума
  • Сообщений: 60
  • Репутация: 0.15
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 11.0 Firefox 11.0
    • Просмотр профиля
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #13 : Февраль 15, 2012, 03:55:12 pm »
Как мне использовать тогда те файлы в которых нужно типа такого $db = sqlite_open("my_database.db");

у меня есть один модуль на сайт он использует sqlite с базой (database.db)

Pascal

  • Администратор
  • Сообщений: 8558
  • Репутация: 38.45
  • OS:
  • Linux (Gentoo) Linux (Gentoo)
  • Browser:
  • Chrome 17.0.963.46 Chrome 17.0.963.46
    • Просмотр профиля
    • Форум системных администраторов UNIX
Проблема с sqlite на php 5.3 - ubuntu
« Ответ #14 : Февраль 15, 2012, 04:59:05 pm »
cubespace, что-то я Вас не пойму...
cout << "Shalom World!\n"; // (с)