Uživatelské nástroje

Nástroje pro tento web


php_602sql_modul

Modul php_602sql8.so

V současné době už kompilace modulu není možná na žádném systému s podporovanými komponenty (linux, PHP).

Debian 8.3 a PHP 5.6.0

Kompilaci modulu pro PHP a 602SQL se věnuje tato stránka:

V současné době (3/2016) je kompilace pro běžného uživatele v podstatě nerealizovatelná, vhodné je přizvat si odborníka na Linux, případně někoho, kdo se orientuje v problematice kompilace programů a aspoň trochu v nastavení PHP.

Já osobně jsem si zvolil Debian 8.3 i386 netinst. 32-bitová verze je nutná, neboť samotný modul je 32-bitový a bude komunikovat s 32-bitovým PHP 5.6.0. Zvolili jsme variantu kompilace samostatného modulu php_602sql8.so.

Přesný postup zaznamenán nemám, poněvadž v průběhu příprav a instalace došlo k častým změn cest a dohledávání správných balíků, takže replikovat celý postup bohužel nedokážu.
Budou potřeba následující příkazy:

  • instalace libapache-php5, php5-dev
  • balíky: php_602sql-src.tar.gz, 602sql-binary-8.1-1.tar.gz, source-602cli8.tar.gz
  • příkazy ldconfig, ldd

Cesty (například):

# directory with PHP header files
phpincdir=/usr/include/php5

# directory with PHP modules
phpmoddir=/usr/lib/php5/20131226

# directory with 602SQL header files
sql602incdir=/root/602/include/602sql8

# directory with 602SQL library files lib602krnl11.so and lib602xml11.so (for 602SQL version 11)
sql602libdir=/usr/local/lib/602sql8

# major version of 602SQL for which we will build PHP module
sql602vermaj=8

Při kompilaci jsme narazili na problém, že nebyla detekována správná verze [ Can not resove WinBase602 / 602SQL version!] přestože byla nastavena, takže bylo potřeba upravit soubor mod602sql.h - zrušili jsme rozhodovací algoritmus na začátku souboru a ponechali pouze:

#define WBVERS 810

Devuan 1 a PHP 5.6.40

K instalaci je nutno využít Devuan 1 32-bitovou distribuci a PHP ve verzi 5.6.40. To je poslední nejnovější možná konfigurace, na které lze provozovat PHP modul pro 602SQL8 pod linuxem.

Výsledný modul však přepisuje PHP proměnné, které mají shodný název se sloupcem tabulky (je tedy potřeba důsledně používat jiné názvy proměnných v kódu php, v přiřazení z databáze včetně jiných názvů sloupců tabulek). Celé to funguje jaksi deterministicky a není již vhodné na produkční použití. Jediná jistota je kompilovat předchozí verze (s rizikem napadení zastaralých komponent), anebo to zkusit s již předkompilovanými moduly pro starší verze PHP a ve Windows (taktéž riziko napadení).

Resumé

Z pohledu použitelnosti jako databáze pro webovou stránku je v dnešní době 602SQL již nepoužitelné (06/2019) a je potřeba hledat alternativu jinde.

php_602sql_modul.txt · Poslední úprava: 2019/06/19 17:15 autor: Petr Skovajsa