Portál AbcLinuxu, 9. června 2024 13:39


Dotaz: Debian a dbase php

12.6.2023 20:14 semtex | skóre: 24 | blog: semtex
Debian a dbase php
Přečteno: 617×
Odpovědět | Admin
Zdravím vás, snažím se nainstalovat dbase do debian buster. PHP mám verzi 8.1.

Jel jsem podle návodu, tedy:
apt install php8.1-dev
pecl install dbase
V adresáři /usr/lib/php/20220829/ mám nyní soubor dbase.so V adresáři /etc/php/8.1/apache2/conf.d jsem vytvořil link na soubor 20-dbase.ini do kterého jsem zkoušel dát:
extension=/usr/lib/php/20220829/dbase.so
i
extension=dbase.so
Ale rozšíření nefunguje :-( v phpsysinfo vidět také není. Prosím o radu, zapomněl jsem na něco? Děkuji.

Řešení dotazu:


Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.6.2023 21:23 X
Rozbalit Rozbalit vše Re: Debian a dbase php
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle jakeho navodu?
12.6.2023 21:53 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Vzal jsem to podle tohoto https://gist.github.com/sicksand/ba980375018d0af43faf
12.6.2023 22:48 X
Rozbalit Rozbalit vše Re: Debian a dbase php
Takze si to zopakujeme:

a] V /etc/php/8.1/mods-available mas dbase.ini?

b] dbase.ini obsahuje extension=/usr/lib/php/20220829/dbase.so?

c] V /etc/php8.1/apache2/conf.d/ mas symlink 20-dbase.ini na /etc/php/8.1/mods-available/dbase.ini?

d] V /etc/php8.1/cli/conf.d/ mas symlink 20-dbase.ini na /etc/php/8.1/mods-available/dbase.ini?

e] Apache si restartoval?

12.6.2023 23:18 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Myslím, že všechno je tak...

a)
root@mail:/# ls /etc/php/8.1/mods-available | grep dbase
dbase.ini
b)
root@mail:/# cat /etc/php/8.1/mods-available/dbase.ini
; configuration for php curl module
; priority=20
extension=/usr/lib/php/20220829/dbase.so
c)
root@mail:/# ls -l /etc/php/8.1/apache2/conf.d/20-dbase.ini
lrwxrwxrwx 1 root root 37 čen  3 12:35 /etc/php/8.1/apache2/conf.d/20-dbase.ini -> /etc/php/8.1/mods-available/dbase.ini
d)
root@mail:/# ls -l /etc/php/8.1/cli/conf.d/20-dbase.ini
lrwxrwxrwx 1 root root 37 čen  3 12:35 /etc/php/8.1/cli/conf.d/20-dbase.ini -> /etc/php/8.1/mods-available/dbase.ini
e) ano, reload, restart proběhl...
Max avatar 13.6.2023 12:33 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Debian a dbase php
A v Apache používáš vestavěný modul? Tj. nepoužíváš php přes cgi, fpm apod.? Protože pokud používáš třeba fpm, tak ten má konfiguraci jinde (něco jako /etc/php/8.1/fpm/conf.d/ apod).
Zdar Max
Měl jsem sen ... :(
14.6.2023 21:54 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
No, php mám nainstalované přes apt, ale chtěl jsem jinou verzi php, než je ve standardní distr. tak jsem přidal do sources https://packages.sury.org/php/.

Trochu mě zaráží, že když se podívám na phpsysinfo(), tak vidím toto:
Additional .ini files parsed
- a jedna část textu je
/etc/php/8.1/apache2/conf.d/20-dbase.ini
, takže soubor podle mě načte...
15.6.2023 15:12 alkoholik | skóre: 40 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Debian a dbase php
Na to se neptal.
Hod sem vystup ls -l /etc/apache2/mods-enabled/*php*.
16.6.2023 15:27 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Aha, tak to je takto:
root@mail:/#  ls -l /etc/apache2/mods-enabled/*php*
lrwxrwxrwx 1 root root 39 bře 29 22:44 /etc/apache2/mods-enabled/php8.1.conf -> /etc/apache2/mods-available/php8.1.conf
lrwxrwxrwx 1 root root 39 bře 29 22:44 /etc/apache2/mods-enabled/php8.1.load -> /etc/apache2/mods-available/php8.1.load
16.6.2023 22:04 .
Rozbalit Rozbalit vše Re: Debian a dbase php
Přesně na to se ptal. A odpověď je, že edituje správný konfig.
15.6.2023 18:04 X
Rozbalit Rozbalit vše Re: Debian a dbase php
A misto "phpsysinfo" vystup phpinfo().
16.6.2023 15:26 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Sorry, to byl překlep, myslel jsem phpinfo
16.6.2023 20:54 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Výpis z phpinfo sekce aditional .ini file parsed je
/etc/php/8.1/apache2/conf.d/10-mysqlnd.ini, /etc/php/8.1/apache2/conf.d/10-opcache.ini, /etc/php/8.1/apache2/conf.d/10-pdo.ini, /etc/php/8.1/apache2/conf.d/15-xml.ini, /etc/php/8.1/apache2/conf.d/20-bcmath.ini, /etc/php/8.1/apache2/conf.d/20-bz2.ini, /etc/php/8.1/apache2/conf.d/20-calendar.ini,
/etc/php/8.1/apache2/conf.d/20-ctype.ini, /etc/php/8.1/apache2/conf.d/20-curl.ini, /etc/php/8.1/apache2/conf.d/20-dbase.ini, /etc/php/8.1/apache2/conf.d/20-dom.ini, /etc/php/8.1/apache2/conf.d/20-exif.ini, /etc/php/8.1/apache2/conf.d/20-ffi.ini, /etc/php/8.1/apache2/conf.d/20-fileinfo.ini,
/etc/php/8.1/apache2/conf.d/20-ftp.ini, /etc/php/8.1/apache2/conf.d/20-gd.ini, /etc/php/8.1/apache2/conf.d/20-gettext.ini, /etc/php/8.1/apache2/conf.d/20-iconv.ini, /etc/php/8.1/apache2/conf.d/20-intl.ini, /etc/php/8.1/apache2/conf.d/20-ldap.ini, /etc/php/8.1/apache2/conf.d/20-mbstring.ini,
/etc/php/8.1/apache2/conf.d/20-mcrypt.ini, /etc/php/8.1/apache2/conf.d/20-mysqli.ini, /etc/php/8.1/apache2/conf.d/20-pdo_firebird.ini, /etc/php/8.1/apache2/conf.d/20-pdo_mysql.ini, /etc/php/8.1/apache2/conf.d/20-phar.ini, /etc/php/8.1/apache2/conf.d/20-posix.ini,
/etc/php/8.1/apache2/conf.d/20-pspell.ini, /etc/php/8.1/apache2/conf.d/20-readline.ini, /etc/php/8.1/apache2/conf.d/20-shmop.ini, /etc/php/8.1/apache2/conf.d/20-simplexml.ini, /etc/php/8.1/apache2/conf.d/20-soap.ini, /etc/php/8.1/apache2/conf.d/20-sockets.ini, /etc/php/8.1/apache2/conf.d/20-ssh2.ini,
/etc/php/8.1/apache2/conf.d/20-sysvmsg.ini, /etc/php/8.1/apache2/conf.d/20-sysvsem.ini, /etc/php/8.1/apache2/conf.d/20-sysvshm.ini, /etc/php/8.1/apache2/conf.d/20-tokenizer.ini, /etc/php/8.1/apache2/conf.d/20-xmlreader.ini, /etc/php/8.1/apache2/conf.d/20-xmlwriter.ini, /etc/php/8.1/apache2/conf.d/20-xsl.ini,
/etc/php/8.1/apache2/conf.d/20-zip.ini, /etc/php/8.1/apache2/conf.d/25-interbase.ini 
Takže 20-dbase.ini načetl, tento soubor obsahuje
; configuration for dbase module
; priority=20
extension=/usr/lib/php/20220829/dbase.so
ale přesto dbase nejde...
16.6.2023 21:31 X
Rozbalit Rozbalit vše Re: Debian a dbase php
ale přesto dbase nejde...
To poznas jak? Mas nejaky vzorovy kod ktery testujes? Kdyz ho pustis v konzoli: php <tvuj skript> tak to take nefunguje?
16.6.2023 23:19 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Bohužel nefunguje ani na web serveru ani v konzoli. Mám tento skript
<

echo 'Zkouska na cteni databazoveho souboru DBF: 
'; $db = dbase_open('SOUBOR.DBF', 0); $row = dbase_get_record_with_names($db, 3); var_dump($row); >
a výstup je
Zkouska na cteni databazoveho souboru DBF:

Fatal error: Uncaught Error: Call to undefined function dbase_open() in /var/www/vidinfo/testy/opendbtest.php:6 Stack trace: #0 {main} thrown in /var/www/vidinfo/testy/opendbtest.php on line 6
16.6.2023 23:22 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Tak sorry, teď jsem si v konzoli všiml následujícího:
root@mail:/# /usr/bin/php8.1 ./opendbtest.php
PHP Warning:  PHP Startup: dbase: Unable to initialize module
Module compiled with module API=20220829
PHP    compiled with module API=20210902
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: dbase: Unable to initialize module
Module compiled with module API=20220829
PHP    compiled with module API=20210902
These options need to match
 in Unknown on line 0
Zkouska na cteni databazoveho souboru DBF: 
PHP Fatal error: Uncaught Error: Call to undefined function dbase_open() in /var/www/vidinfo/testy/opendbtest.php:6 Stack trace: #0 {main} thrown in /var/www/vidinfo/testy/opendbtest.php on line 6
Takže mi nesedí verze php a modulu dbase. Akorát mi není jasné, jak je mám sjednotit...
Řešení 1× (semtex (tazatel))
Max avatar 17.6.2023 07:21 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Debian a dbase php
Spíše to vypadá, že jsi zkompiloval/nainstaloval dbase pro jinou verzi php. Když ten modul instaluješ, tak v cli musíš mít nastavenou stejnou verzi php, s jakou ten modul budeš požívat. Jinými slovy, pokud máš v OS nastavenou jako výchozí php v jiné verzi, tak jsi ten dbase naladil pro tu jinou verzi php.
Jinými slovy /usr/bin/php musí směřovat na /usr/bin/php8.1 a to samé další cli nástroje. Změna výchozí verze php se dělá takto (cesty si uprav podle toho, jak to skutečně máš):
sudo update-alternatives --set php /usr/bin/php8.1
sudo update-alternatives --set phar /usr/bin/phar8.1 
sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.1
sudo update-alternatives --set phpize /usr/bin/phpize8.1
sudo update-alternatives --set php-config /usr/bin/php-config8.1
Až budeš mít nastavenou správnou verzi ve cli, znovu nainstaluj dbase a pro ono php pak uprav cestu v ini.
Zdar Max
Měl jsem sen ... :(
19.6.2023 19:38 semtex | skóre: 24 | blog: semtex
Rozbalit Rozbalit vše Re: Debian a dbase php
Super, to je ono, už funguje... Dík moc.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.