Versio

PECL extensie installeren (Entropy PHP)

Overzicht Reageren

Joren de Wit
Beheerder

Joren de Wit

17/06/2008 23:59:00
Quote Anchor link
Ik gebruik al sinds gebruime tijd de PHP package van entropy.ch en dat naar volle tevredenheid. Nu loop ik echter tegen een probleem aan bij het installeren van aanvullende PECL extensies.

Ik probeerde via de pecl installer de xdebug extensie te installeren. De installer gaf netjes aan dat de installatie gelukt was en dat ik de regel 'extension=xdebug.so' nog in mijn php.ini op moest nemen. Na ook dit gedaan te hebben (en uiteraard apache herstart te hebben) wordt de xdebug extensie toch niet geladen.

Dingen die ik zeker weet:
- extension_dir is correct ingesteld in php.ini
- xdebug.so is aanwezig in de extension_dir
- xdebug wordt geladen in php.ini

Verder geeft PHP de volgende startup error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
[17-Jun-2008 23:56:12] PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so' - (null) in Unknown on line 0


Het lijkt erop dat compilen van de extensie dus wel gelukt is, maar dat het mis gaat bij het laden van de extensie tijdens het starten van de server.

Iemand enig idee waar de fout zou kunnen zitten en hoe ik dit probleem zou kunnen oplossen? Ik was ook al van plan om deze vraag te stellen op het forum van entrophy.ch, maar daar moet de webmaster mijn registratie eerst goedkeuren :-S

ps. De gebruike versie van de package is PHP 5.2.5 beta 6, bij mijn weten de laatste.
 
PHP hulp

PHP hulp

25/05/2012 09:57:17
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Jelmer rrrr

Jelmer rrrr

18/06/2008 00:11:00
Quote Anchor link
Apache in Leopard is 64 bit, zo ook PHP 5.2.5 beta 6. Dus je extensie moet ook in 64 bit worden gecompiled, anders werkt het niet en krijg je die foutmelding.

Blijkbaar compileert hij automatisch naar 32 bit. Je kan de compiler in 64-bit modus forceren door net voor 'configure' en/of 'make' even `export CFLAGS="-arch x86_64"` in dezelfde terminal te typen. De .so die er dan uit komt zou moeten werken.


Ik ben alleen nog op zoek hoe je die CFLAGS automatisch ook binnen PECL kan instellen. Want als dat kan, dan kan je gewoon PECL gebruiken om ze te compileren, en dan wordt het helemaal makkelijk. Geen phpize meer, geen configure of make. Want nu zal je het nog 'met de hand' moeten doen.


Oeh, ik vind net de originele post terug waar ik het zelf vandaan had: http://www.designified.com/blog/article/60/compiling-installing-xdebug-for-php-525-entropych-build-on-os-x-105
 
Jelmer rrrr

Jelmer rrrr

18/06/2008 00:11:00
Quote Anchor link
hik!
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
 
Joren de Wit
Beheerder

Joren de Wit

18/06/2008 00:26:00
Quote Anchor link
Thnx Jelmer, dit ga ik eens proberen! Zou deze zelfde methode voor alle andere pecl extensie werken?
 
Jelmer rrrr

Jelmer rrrr

18/06/2008 00:33:00
Quote Anchor link
Volgens mij wel. Misschien dat het wat lastiger wordt wanneer je extensies hebt die weer andere libs nodig hebben, bijvoorbeeld Imagick. Dat weet ik zo niet. Ik kan me voorstellen dat je dan de afhankelijkheden ook in 64 bit moet compileren.
 
Jelmer rrrr

Jelmer rrrr

18/06/2008 00:33:00
Quote Anchor link
hik!
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
 
Joren de Wit
Beheerder

Joren de Wit

18/06/2008 09:40:00
Quote Anchor link
Inderdaad, xdebug zonder problemen kunnen installeren. Werkt helemaal top!

Maar goed, dan direct door naar het volgende probleem. De installatie van de fileinfo extensie. Wederom gaat het compilen van de extensie in 32 bit prima, maar uiteraard zal deze versie van fileinfo.so niet geladen worden.

Nadeel is echter dat deze extensie afhankelijk is van de libmagic library die waarschijnlijk ook als 32 bit gecompiled is en dus loopt de compiler vast zodra ik hem in 64 bit modus duw.

De foutmelding die gegeven wordt bij het aanroepen van ./configure:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
checking for magic_open in -lmagic... no
configure: error: wrong magic lib version or lib not found

En dat doet mijn bovenstaande vermoeden alleen maar sterker worden.

De volgende (logische) stap zou waarschijnlijk het als 64bit compilen van de libmagic library zijn, maar ik heb werkelijk geen idee hoe ik dat zou aanpakken. Wellicht dat je een idee hebt hoe ik dit probleem nu zou kunnen tackelen?
 
Jelmer rrrr

Jelmer rrrr

18/06/2008 09:52:00
Quote Anchor link
Via macports kan je redelijk gemakkelijk dat soort libs binnen halen en compileren. Als je in de handleiding zoekt op x86_64 komt je bij dit config-bestandje uit waarin de universal_archs parameter staat. Misschien werkt het wanneer je hier x86_64 aan toevoegt, en libmagic opnieuw compileert en installeert.

edit: zie ook deze thread: http://www.mail-archive.com/macports-users@lists.macosforge.org/msg01183.html
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
 
Joren de Wit
Beheerder

Joren de Wit

18/06/2008 11:25:00
Quote Anchor link
Hmm, het wil toch nog niet echt lukken...

Allereerst de macports.conf aangepast en de volgende regel toegevoegd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
universal_args    x86_64

Vervolgens met behulp van macports file-4.23, waar libmagic in zit, geinstalleerd. De standaard locatie waar de files kwamen te staan was /opt/local/lib.

Tijdens configure van fileinfo wordt er echter naar de libraries in /usr/local/lib gekeken. Geprobeerd om dat te wijzigen via de opties --libdir en --with-libdir, maar beide geen succes. Toen maar de libraries uit /opt/local/lib gekopieerd en configure nogmaals uitgevoerd in 64 bit modus.

Toen kreeg ik precies dezelfde melding als in mijn vorige post. Echter, normaal uitvoeren van configure (dus als 32 bit) werkt wel prima, de met macports geƮnstalleerde libs voldoen dan wel.
 
Joren de Wit
Beheerder

Joren de Wit

20/06/2008 15:52:00
Quote Anchor link
Even een bumpje, ik ben er nog niet achter hoe ik dit voor elkaar zou kunnen krijgen...
 
Joren de Wit
Beheerder

Joren de Wit

23/06/2008 15:01:00
Quote Anchor link
Wellicht nog iemand die hier een antwoord op weet?
 



Overzicht Reageren