źle budowany php

Jacek Osiecki joshua w ceti.pl
Pon, 11 Cze 2001, 15:14:43 CEST


On Mon, 11 Jun 2001, Artur Frysiak wrote:

> On Mon, Jun 11, 2001 at 12:38:55PM +0200, Jacek Osiecki wrote:

> > Po ugradzie do php-4.0.5-2 z 4.0.3-1 pojawiły się problemy... Otóż php teraz
> > bezwstydnie pokazuje na wynikowej stronie wszystkie jednolinijkowe
> > komentarze, tj. zaczynające się "//" i "#". Komentarze /* ... */ nie są
> > pokazywane.

> Nie zauważyłem tego ale może z tego powodu że się temu tak dokładnie nie
> przyglądałem.

Ja niestety zauważyłem. Na pcol ktoś zasygnalizował, że problem jest chyba
ogólniejszy, bo to samo działo się na jakimś debianie z "firmowym" php.

> > Tenże sam php. W spec-u jest taka linijka:
> > 
> > 	--with-libpdf=shared	\

> > I wszystko byłoby w porządku... ale niestety tak nie jest. Otóż odpowiedni
> > plik jest budowany (a jakże), ale potem nie trafia do żadnego pakietu! Co
> > więcej, libphp4.so potrzebuje do działania libpdf - zupełnie niepotrzebnie,
> > imho...

> Wiem że libphp4.so jest nie potrzebnie łączone z libpdf ale nie było
> chętnego do poprawienia tego.
> A to z tego powodu że w php autoconf jest używany w dziwny sposób i
> wydumanie o co w tym wszystkim chodzi zajmuje trochę czasu.

No dobra, ale obecnie sytuacja jest taka: libphp4 jest zależny od libpdf,
biblioteka do obsługi PDF-ów jest budowana, nie jest włączana do
jakiegokolwiek pakietu. Ja tu widzę parę bardzo prostych rozwiązań:

1. Skoro php i tak wymaga libpdf, to może po prostu wrzucić to, co ląduje w
   libpdf_php.so do samego libphp4.so? Wystarczy samo "--with=libpdf".
2. Skoro libpdf_php.so nie jest nigdzie włączany, to po co go budować?
   Przy --without-pdf libphp4.so nie będzie zależne od libpdf... Niniejszym
   więc wnioskuję generowanie pakietu php-pdf... po co budować biblioteki,
   które nie są potem nigdzie włączane?

> > Następne: /etc/httpd/php.ini nagle przeprowadziło się do /etc/php/php.ini...

> /etc/httpd należy do serwera http np apache. Aby więc zainstalować php
> należało by wymagać zainstalowania jakiegoś httpd. Jednak php można
> spokojnie używać bez serwera http jako zwykły interpreter. Dlatego pliki
> php.ini znajduje się w /etc/php/

No dobrze... taka argumentacja ma sens. Tylko jedno pytanie, bo się nie
orientuję: czy php może chodzić jako stand-alone? Może pytanie jest głupie,
ale dotąd byłem przekonany, ze jakieś httpd jest potrzebne...

> > [root w animagic i686-RPMS]# rpm -qpl php-mysql-4.0.5-2.i686.rpm 
> > /usr/lib/php/extensions/no-debug-non-zts-20001222/mysql.so

> > Co to za katalog? Przecież to powinno lądować w /usr/lib/apache/php, gdzie
> > zresztą php tychże bibliotek szuka...

> Tu jest podobnie jak wyżej. Nie można zakładać, że jest zainstalowany
> apache. A moduły są wspólne dla wersji standalone i apache DSO.
> Katalog w jakim instalowane są moduły to domyślny katalog wymyślony
> przez developerów PHP. Jeśli usuniesz ze swego php.ini _błędną_
> informacje o katalogu z modułami.

OK, rozumiem. Może by więc do pakietu wrzucać php.ini z usuniętą "_błędną_
informacją o katalogu z modułami" ;-)

Dziękując za odpowiedzi pozdrawiam,
-- 
Jacek Osiecki
joshua w ceti.pl



Więcej informacji o liście dyskusyjnej pld-devel-pl