/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Selvstændige PHP-moduler
Fra : Jonas Koch Bentzen


Dato : 13-02-02 10:44

Jeg har kompileret et selvstændigt PHP-modul (gettext), som jeg så har
forsøgt at indlæse vha. dl. Det virker fint på den maskine, jeg har
kompileret modulet på (SuSE Linux 7.3), men når jeg eksporterer
gettext.so og PHP-scriptet til en anden Linux-maskine (Slackware
7.etellerandet), så virker det ikke. Kører man "php -q test.php", får
man bare "segmentation fault" smidt i hovedet. Kører man det via webbet,
får man en forbindelsesfejl. Der bliver ikke efterladt nogen beskeder i
Apache-fejlloggen.

Hvad kan det skyldes, at dl("gettext.so") ikke virker? Kan det være
noget med glibc-versionen?

Det skal lige siges, at jeg ikke er panisk for at få en løsning lige her
og nu. Jeg skal egentlig ikke bruge modulet til noget. Mit formål var at
se, om det overhovedet kan betale sig at bruge dl() og selvstændige
moduler frem for at lave tingene manuelt i PHP-scriptet. Et eksempel:
Laver man et postprogram, som skal kunne køre overalt, kan man enten
vælge at lave hele POP/IMAP-skidtet manuelt vha. fsockopen og fwrite,
eller man kan bruge PHPs IMAP-funktioner og dl'e IMAP-modulet, hvis
PHP-installationen på den pågældende maskine ikke i forvejen har
understøttelse for IMAP. Sidstnævnte løsning er umiddelbart smartest,
men hvis dl("imap.so") alligevel ikke virker halvdelen af gangene, så er
der ikke den store fidus i det.

--
Jonas Koch Bentzen

http://understroem.dk/

 
 
Jonas Koch Bentzen (13-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-02-02 10:48

Jonas Koch Bentzen skrev:

> Jeg har kompileret et selvstændigt PHP-modul (gettext), som jeg så har
> forsøgt at indlæse vha. dl. Det virker fint på den maskine, jeg har
> kompileret modulet på (SuSE Linux 7.3)

Min PHP-version er 4.1.1.

> men når jeg eksporterer
> gettext.so og PHP-scriptet til en anden Linux-maskine (Slackware
> 7.etellerandet), så virker det ikke.

Jeg prøvede på to Slackware-maskiner, begge samme version af
styresystemet. Den ene kørte PHP 4.0.6, den anden PHP 4.0.6.
Extension-indstillingerne i php.ini ser sådan her ud:

; Directory in which the loadable extensions (modules) reside.
extension_dir = ./

enable_dl = On

--
Jonas Koch Bentzen

http://understroem.dk/

Anders Johannsen (13-02-2002)
Kommentar
Fra : Anders Johannsen


Dato : 13-02-02 10:59

"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
news:a4dcob$p93$2@sunsite.dk...

> Min PHP-version er 4.1.1.

[...]

> Jeg prøvede på to Slackware-maskiner, begge samme version af
> styresystemet. Den ene kørte PHP 4.0.6, den anden PHP 4.0.6.
> Extension-indstillingerne i php.ini ser sådan her ud:

Der er blevet ændret i udvidelses-API'et mellem 4.0.6 og 4.1.1 -- kanske det
skaber problemerne.

Fra http://www.php.net/release_4_1_0.php:
* Versioning support for extensions. Right now it's barely being used,
but the infrastructure was put in place to support separate version
numbers for different extensions. The negative side effect is that loading
extensions that were built against old versions of PHP will now
result in a crash, instead of in a nice clear message. Make sure you only
use extensions built with PHP 4.1.0.

/A



Jonas Koch Bentzen (13-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-02-02 11:04

Anders Johannsen skrev:

> "Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
> news:a4dcob$p93$2@sunsite.dk...
>
>> Min PHP-version er 4.1.1.
>
> [...]
>
>> Jeg prøvede på to Slackware-maskiner, begge samme version af
>> styresystemet. Den ene kørte PHP 4.0.6, den anden PHP 4.0.6.
>> Extension-indstillingerne i php.ini ser sådan her ud:
>
> Der er blevet ændret i udvidelses-API'et mellem 4.0.6 og 4.1.1 --
> kanske det skaber problemerne.

Det kunne meget vel være det, der er problemet. Er der forresten nogen,
der bruger en ikke-SuSE-Linux-distribution, der har lyst til at teste
mit lille script for at se, om dl("gettext.so") virker? Det kunne være
godt at få en ide om, hvor pålideligt det er, før man begynder at basere
noget open source-noget på dynamisk indlæste moduler.

--
Jonas Koch Bentzen

http://understroem.dk/

Jonas Koch Bentzen (13-02-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 13-02-02 11:20

Anders Johannsen skrev:
>
> Der er blevet ændret i udvidelses-API'et mellem 4.0.6 og 4.1.1 --
> kanske det skaber problemerne.

Jeg har lige prøvet at kompilere PHP 4.1.1 på den ene af
Slackware-maskinerne og derefter køre "php-4.1.1/php -q test.php", og
det virker fint, så du har nok ret.

--
Jonas Koch Bentzen

http://understroem.dk/

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste