Thread View: pl.comp.lang.php
8 messages
8 total messages
Started by moblaza
Sun, 10 Sep 2017 15:38
sqlite3 - php, problem ze ścieżką
Author: moblaza
Date: Sun, 10 Sep 2017 15:38
Date: Sun, 10 Sep 2017 15:38
28 lines
2048 bytes
2048 bytes
Cześć. Mam pewien problem, kiedy w konsoli z palca odpalę skrypt:
<?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(forum.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());
echo 'END.';
?>
działa on prawidłowo, jednak kiedy odpalam go w przeglądarce, wyświetlana jest pusta strona - nie odnajduje mi wskazanej bazy danych, jest ona w tym samym folderze co skrypt. Jak rozwiązać ten trywialny problem ? Dzięki.
Re: sqlite3 - php, problem ze ścieżką
Author: Borys Pogoreło
Date: Sun, 10 Sep 2017 20:47
Date: Sun, 10 Sep 2017 20:47
14 lines
1291 bytes
1291 bytes
Dnia Sun, 10 Sep 2017 08:38:34 -0700 (PDT), moblaza@gmail.com napisał(a): > działa on prawidłowo, jednak kiedy odpalam go w przeglądarce, wyświetlana > jest pusta strona - nie odnajduje mi wskazanej bazy danych, jest ona w > tym samym folderze co skrypt. Jak rozwiązać ten trywialny problem ? > Dzięki. $this->open(__DIR__ . '/forum.db'); Wrzuć to lepiej do katalogu poza document_root. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: sqlite3 - php, problem ze ścieżką
Author: Lemat
Date: Sun, 10 Sep 2017 21:58
Date: Sun, 10 Sep 2017 21:58
39 lines
2235 bytes
2235 bytes
W dniu 10.09.2017 o 17:38, moblaza@gmail.com pisze:
> Cześć. Mam pewien problem, kiedy w konsoli z palca odpalę skrypt:
>
> <?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(forum.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());
>
> echo 'END.';
>
> ?>
>
> działa on prawidłowo, jednak kiedy odpalam go w przeglądarce, wyświetlana jest pusta strona - nie odnajduje mi wskazanej bazy danych, jest ona w tym samym folderze co skrypt. Jak rozwiązać ten trywialny problem ? Dzięki.
>
pokaż wynik funkcji:
var_dump(is_writable ( 'forum.db' ));
var_dump(is_readable ( 'forum.db' ));
--
Pozdrawiam
Lemat
Re: sqlite3 - php, problem ze ścieżką
Author: Maciej Obłaza
Date: Mon, 11 Sep 2017 16:37
Date: Mon, 11 Sep 2017 16:37
17 lines
1784 bytes
1784 bytes
W dniu niedziela, 10 września 2017 23:58:56 UTC+2 użytkownik Lemat napisał: > pokaż wynik funkcji: > > var_dump(is_writable ( 'forum.db' )); > var_dump(is_readable ( 'forum.db' )); > > -- > Pozdrawiam > Lemat sprawdziłem, oto rezultat: boolean false boolean true Nie mam uprawnień do zapisu ?
Re: sqlite3 - php, problem ze ścieżką
Author: Maciej Obłaza
Date: Mon, 11 Sep 2017 16:46
Date: Mon, 11 Sep 2017 16:46
10 lines
1705 bytes
1705 bytes
Moje środowisko to: 1. Zend studio 2. PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans 3. MacOS Sierra 10.12.6
Re: sqlite3 - php, problem ze ścieżką
Author: artiun
Date: Mon, 11 Sep 2017 17:25
Date: Mon, 11 Sep 2017 17:25
30 lines
2457 bytes
2457 bytes
W dniu 2017-09-11 o 18:37, Maciej Obłaza pisze: > W dniu niedziela, 10 września 2017 23:58:56 UTC+2 użytkownik Lemat napisał: > >> pokaż wynik funkcji: >> >> var_dump(is_writable ( 'forum.db' )); >> var_dump(is_readable ( 'forum.db' )); >> >> -- >> Pozdrawiam >> Lemat > > sprawdziłem, oto rezultat: > > boolean false > boolean true > > Nie mam uprawnień do zapisu ? > sqlite to baza plikowa. Coś jak txt trzymane w segmentach (duże uproszczenie). Bez zapisu masz tylko odczyt - to działa? Na chama - bazę otwieraj notepad'em (nic Ci to nie da) - ale będzie jasne, że czyta. Jak masz np. w ww. narzędziu wtyczkę powinno się to otworzyć podobnie do plików excela (csv) - ale i tak R(ead)O(nly). Jest obejście, tu nie ma serwera, baza nie jest wielodostępowa, po prostu ją umieść na serwerze. Nie spodziewaj się cudów, typu transakcje, wielodostęp. SQLite jest do czegoś innego. -- Artur
Re: sqlite3 - php, problem ze ścieżką
Author: Rafal Podsiadly
Date: Mon, 11 Sep 2017 17:52
Date: Mon, 11 Sep 2017 17:52
10 lines
1909 bytes
1909 bytes
Nie wiem czy moi przedmówcy zauważyli $this->open(forum.db'); Tutaj nie ma apostrofa otwierającego ciąg tekstowy. Skoro to macOs sprawdź prawa dostępu do pliku w terminalu ls -l https://stackoverflow.com/questions/3319112/sqlite-read-only-database https://books.google.pl/books?id=n5xiAgAAQBAJ&pg=PT24&lpg=PT24&dq=ls+-a+linux&source=bl&ots=1B2ULAml_c&sig=D_VCLhKO20xRio2w3Y7Q4AgwYfQ&hl=pl&sa=X&ved=0ahUKEwjWqJPr2J3WAhXrApoKHQUBB3AQ6AEIJzAA#v=onepage&q=ls%20-a%20linux&f=false
Re: sqlite3 - php, problem ze ścieżką
Author: PawelS cbrbob(at)wbcd(dot)pl
Date: Mon, 11 Sep 2017 18:23
Date: Mon, 11 Sep 2017 18:23
38 lines
2186 bytes
2186 bytes
moblaza@gmail.com pisze:
> Cześć. Mam pewien problem, kiedy w konsoli z palca odpalę skrypt:
>
> <?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(forum.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());
>
> echo 'END.';
>
> ?>
>
> działa on prawidłowo, jednak kiedy odpalam go w przeglądarce, wyświetlana jest pusta strona - nie odnajduje mi wskazanej bazy danych, jest ona w tym samym folderze co skrypt. Jak rozwiązać ten trywialny problem ? Dzięki.
Porównaj poniższe ścieżki:
$_SERVER['DOCUMENT_ROOT'] i getcwd()
oraz upewnij się, że spełniony jest warunek:
http://www.php.net/manual/en/ref.pdo-sqlite.php#57356
jak również użytkownik na uprawnieniach,
którego działa interpreter PHP (Apache,php-fpm)
posiada odpowiednie uprawnienia.
Anyway: w odpowiednim error.log powinien być
wystarczająco czytelny komunikat.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads