Article View: es.comp.os.linux.programacion
Article #10661Re: Compilar un módulo de PHP
From: Jesus Manuel NAVARRO LOPEZ
Date: Mon, 11 Feb 2002 09:58
Date: Mon, 11 Feb 2002 09:58
82 lines
4922 bytes
4922 bytes
Hola, Alberto: Alberto Cabello S�nchez wrote: > > > Santiago Romero wrote: > > >> Igual que has compilado el php4 para integrarlo en el apache, pero >> con apxs en lugar de --with-apache-src :) >> bye! :) > > > > > Va a ser que no me se entiende bien, porque lo compil� con apxs... > Intentar� explicarlo mejor: > As� (con apxs) me sali� _otro_ libphp4.so (esto es, el php+oracle). Lo > que quisiera > es separar la parte "PHP" de la parte "Oracle". Para que se entienda, > pongo el ejemplo del Postgres: > libphp4.so-> PHP (n�cleo del lenguaje, sin soporte para nada). > pgsql.so-> Funciones PHP para conectar con PostgreSQL > (no sustituye al PHP original, no es otro > libphp4.so). > Lo que intento sacar->Funciones PHP para conectar con Oracle. > Bueno, te dir� que -hasta donde yo se- es posible, pero altamente incordioso, y no proporciona ventaja alguna. Por lo que entiendo quieres tener instaladas a la vez dos versiones de PHP: una con soporte para Oracle, y otra no. Te dir� que lo que pides, (en lugar de tener libphp4.so con todos los soportes, tener un libphp4.so "pelado" y luego otra libphppg.so, o como quieras llamarlo, para el soporte para postgre *para PHP* no es posible directamente). �Por qu� no es posible -en la pr�ctica-? Principalmente porque la programaci�n del propio PHP no est� preparada a este nivel para soportarla: las llamadas a funciones no est� preparadas para la carga de librer�as din�micas, podr�a programarse, pero no se ha hecho. Para hacerlo "como manda el canon" tendr�as que programarlo t�. Por otra parte, el supuesto que yo te digo, tener dos "motores" PHP distintos con o sin soporte para Postgre (o cualquier otra extensi�n, por supuesto), s� es posible (al menos en teor�a, no lo he probado en la pr�ctica para este supuesto), compilando con la opci�n "--enable-versioning" en el .configure (lo utilizo para tener en servicio soporte -a la vez- para PHP3 y PHP4). De este modo podr�as compilar (cambiando ligeramente los makefiles) lo que quieres para obtener algo del estilo de libphp4_pelado.so y libphp4_conpg.so, pero aun haci�ndolo, tu "pesadilla" no acabar�a aqu�: Apache necesita saber a priori qu� motor invocar para procesar el contenido de servidor de un archivo, cosa que hace, para estos casos, con las directivas AddType Application, asociando un tipo MIME a un extensi�n de fichero. Por un lado tendr�as que crear una extensi�n privada tipo application/x-httpd-php-withpostgre, y darle una extensi�n particular, como *.phppg, y luego, acordarte de usarla. �Y todo esto, para qu�? Pues veo dos posibilidades (corr�geme si me equivoco): una por el gusto de aprender; si es as�, adelante. Otra, para evitar cargar la memoria con c�digo que no sueles usar (en este caso, el de acceso a Postgre desde PHP), pero se trata de una librer�a compartida: mira el tama�o de la librer�a original, frente a la que tiene soporte para Postgre: esa diferencia es toda la que habr� en memoria. En realidad, antes o despu�s acabar�as con las dos librer�as cargadas en memoria (a menos que siguieras la ruta de tener todo el soporte para PHP en una y *s�lo* el soporte php-pg en otra, lo que no creo que acabes haciendo) siendo as� que la pr�ctica totalidad del c�digo ser�a redundante, por lo que gastar�as m�s memoria, no menos. En fin, ya nos comentar�s c�mo te va la cosa (o si encuentras la soluci�n, en cuyo caso seguro que a m�s de uno nos interesar�a conocerla). -- SALUD, Jes�s *** jesus_navarro@promofinarsa.es ***
Technical Details
Message-ID:
<3C6795C0.9060006@promofinarsa.es>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!newsfeed.bcn.ttd.net!news.bcn.ttd.net!frodo.antakira.com!212.25.139.151!news.audiolis.com!192.168.5.1!news.antakira.com!elrond.intranet!nobodyReferences:
<slrna67cqs.6u.alberto@marmota.unex.es> <slrna67pgt.hv2.sromero@compiler.servicom2000> <3C641BA3.1010500@unex.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,e74cd0db11b8930 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-02-11 02:31:00 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!newsfeed.bcn.ttd.net!news.bcn.ttd.net!frodo.antakira.com!212.25.139.151!news.audiolis.com!192.168.5.1!news.antakira.com!elrond.intranet!nobody From: Jesus Manuel NAVARRO LOPEZ <jesus_navarro@promofinarsa.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: Compilar un módulo de PHP Date: Mon, 11 Feb 2002 10:58:24 +0100 Organization: PROMOFINARSA, S.A. Lines: 83 Message-ID: <3C6795C0.9060006@promofinarsa.es> References: <slrna67cqs.6u.alberto@marmota.unex.es> <slrna67pgt.hv2.sromero@compiler.servicom2000> <3C641BA3.1010500@unex.es> NNTP-Posting-Host: 213-97-227-24.uc.nombres.ttd.es Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2.1) Gecko/20010901 X-Accept-Language: es-ES, es, en