login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP upgrade werkt niet (Opgelost)

Offline Voldemort - 08/07/2007 16:18
Avatar van VoldemortPHP ver gevorderde Ik gebruik Linux, OpenSUSE 10.2.

Ik heb PHP 4.4.7 geïnstalleerd staan (lokaal). Nu wou ik vandaag GD gebruiken, maar deze is niet geactiveerd, dus ik keek op de PHP website en daar stond:

Citaat:
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.


Dus ik doe ./configure --mijn_dingen (zie einde bericht het precieze), dan make en dan make install. Deze klaagt (NOTICE) over PEAR (ik heb een oudere versie ervan (1.2) staan en die is misschien niet compatible) met die nieuwste (1.2.1), maar dat negeer ik. Ik zie echter bij phpinfo(); dat de laatste build nog steeds de vorige is en GD werkt niet. Dus ik verwijder alle PHP mappen:

  1. rm -rf /usr/local/bin/*
  2. rm -rf /usr/local/man/man1/*
  3. rm -rf /usr/local/lib/php/
  4. rm -rf /usr/local/include/php/


Nu doe ik opnieuw die 3 stappen en nu klaagt ie niet. Ik terug phpinfo(); en ik zie terug dat hij nog steeds de oude build aangeeft, GD werkt nog steeds niet.

Ik heb elke keer Apache herstart op 1 van de volgende manieren:

  1. /opt/webserver/apache/bin/apachectl -k restart


of

  1. /opt/webserver/apache/bin/apachectl -k stop
  2. /opt/webserver/apache/bin/apachectl -k start


Alle commando's werden uitgevoerd als root.

De ./configure:

  1. ./configure --with-apxs2=/opt/webserver/apache/bin/apxs --with-config-file-path=/opt/webserver/etc --with-config-file-scan-dir=/opt/webserver/etc --enable-ftp --with-mysql=/opt/webserver/mysql --with-libxml-dir=/opt/webserver/libxml2 –enable-mbstring=all --with-pear --with-zlib --with-curl --with-gd --with-zip --enable-ftp --enable-calendar --enable-sockets --enable-exif


Waarom wil ie de nieuwe PHP build niet pakken? Wat gaat er fout? Hoe los ik het op (het liefst zonder volledig Apache en MySQL opnieuw te installeren)?

Opmerking: Ik upgrade niet naar PHP 5 omdat m'n online host nog PHP 4 draait en ik dus ook liefst PHP 4 draai (kwestie van dezelfde PHP versie te hebben om de kans op verschillen tussen bij mij lokaal en online te vermideren).

18 antwoorden

Gesponsorde links
Offline marten - 08/07/2007 20:21 (laatste wijziging 08/07/2007 20:27)
Avatar van marten Beheerder
Citaat:
GD library requires libpng™ and libjpeg™ to compile

Staan deze ook geinstalleerd?

Zo niet kan je via yast makkelijk deze pakketen even installeren. Daarna de php opnieuw 'maken' en installeren zoals je normaal doet.
Offline Voldemort - 08/07/2007 20:36
Avatar van Voldemort PHP ver gevorderde Die zijn geïnstalleerd. Eerst waren deze niet geïnstalleerd (zziplib, curl-devel, ...), maar dan gaf die ./configure een error (dat doet ie allemaal goed, geen errors of dergelijke), dus die zaken zijn allemaal in orde.
Offline marten - 08/07/2007 20:50
Avatar van marten Beheerder
Citaat:
Opmerking: Since PHP 4.3 there is a bundled version of the GD lib. This bundled version has some additional features like alpha blending, and should be used in preference to the external library since its codebase is better maintained and more stable.


En volstaat de gebundelde versie van php niet?
Offline Voldemort - 09/07/2007 09:12 (laatste wijziging 10/07/2007 17:08)
Avatar van Voldemort PHP ver gevorderde @marten: Geen idee, maar libpng en libjpeg stonden standaard al geïnstalleerd. En al die fouten zijn zowiezo opgelost, want ./configure ging goed, geen problemen. Bij make en make install ook geen problemen (behalve dat pear bij make install, maar met PHP compleet te verwijderen was dat opgelost).

Dus waarom werkt het niet? Hoe kan ik het wel werkende krijgen, het liefst zonder volledig Apache, MySQL en de rest opnieuw te installeren?
Offline marten - 10/07/2007 19:02
Avatar van marten Beheerder In ieder geval stoppen met steeds je laatste bericht te wijzigen (zonder iets daadwerkelijk te wijzigen)
Offline HellsChicken - 10/07/2007 19:59 (laatste wijziging 10/07/2007 20:15)
Avatar van HellsChicken Nieuw lid Oke, herinstalleer je server maar.. Onderstaande was geen goed idee..

Citaat:
rm -rf /usr/local/bin/*
rm -rf /usr/local/man/man1/*


//edit: uitleg:

in de /usr/local/bin/ staan commando's zoals vi, nano, httpd en nog veel en veel meer. in /usr/local/man/man1/ staan handleidingen.. Als je nu je server opnieuw opstart, hebt je een hele grote kans, dat de helft niet meer werkt..

//edit2: je foto van voldemort is out-of-date
Offline Voldemort - 10/07/2007 21:06
Avatar van Voldemort PHP ver gevorderde Ik heb die maken bekeken en er stonden enkel PHP bestanden / PHP handleidingen in (ook in /url/local/bin/). Ik heb de server al herstart (met de oude configuratie (hoewel ie PHP wel volledig heeft geherinstalleerd, maar dan toch met de oude configuratie hoewel ik de nieuwe heb ingegeven) aangezien ie de nieuwe niet wou pakken). Is Apache & MySQL installeren de enige oplossing?
Offline JBke - 10/07/2007 21:13
Avatar van JBke PHP gevorderde zou het in dit stadia wel aanraden, ik zou ook het voorgecompileerde all-in-one php installatie pakket nemen zoals aanbevolen met GD erin.
Offline HellsChicken - 10/07/2007 22:24 (laatste wijziging 10/07/2007 22:25)
Avatar van HellsChicken Nieuw lid Wat dacht je van de php.ini aanpassen met het juiste path naar PHP ?

//edit:
Roep PHP eens op vanaf de command line, dan weet je of het goed werkt..
Offline Voldemort - 11/07/2007 10:00
Avatar van Voldemort PHP ver gevorderde @JBke: Wat bedoel je met "in dit stadia"?

@HellsChicken: Ik doe dit:

  1. php -r "createimage();"


en ik krijg dit:

Citaat:
Fatal error: Call to undefined function: createimage() in Command line code on line 1


Dus hij heeft GD echt niet gepakt terwijl de ./configure zei van wel en de make en make install ook zonder problemen heeft uitgevoerd. En toch doet ie het niet.
Offline HellsChicken - 11/07/2007 21:19
Avatar van HellsChicken Nieuw lid hebt je de php.ini wel aangepast ?
Offline Voldemort - 12/07/2007 09:26
Avatar van Voldemort PHP ver gevorderde Neen, wat moet ik soms aanpassen? Ik dacht dat PHP dat zelf deed. Op php.net staat er dat dat niet hoeft:

Citaat:
If you decide to change your configure options after installation,

you only need to repeat the last three steps. You only need to

restart apache for the new module to take effect. A recompile of

Apache is not needed.


Wat moet er soms veranderd worden?
Offline HellsChicken - 12/07/2007 21:21 (laatste wijziging 12/07/2007 21:21)
Avatar van HellsChicken Nieuw lid Excuses, je moet de juiste path naar de nieuwe PHP in de httpd.conf zetten. Dus in plaats van de oude, het nieuwe path.

Daarna moet je apache herstarten.

Excuses, ik haalde wat dingen door elkaar..
Offline Voldemort - 13/07/2007 10:44 (laatste wijziging 13/07/2007 11:20)
Avatar van Voldemort PHP ver gevorderde Ik zie al een mogelijk probleem:

In de modules map staat er nog een oude libphp4.so

Ik ga die PHP modules ff verwijderen en PHP opnieuw installeren, je hoort nog of het gelukt is.

Edit: Nu zegt ie altijd:

Citaat:
chmod: kan geen toegang krijgen tot `/opt/webserver/apache/modules/libphp4.so': Onbekend bestand of map
apxs:Error: Command failed with rc=65536
.
make: *** [install-sapi] Fout 1


Dit is bij make install. Ik heb de hele apache map al eens verwijderd en Apache opnieuw geïnstalleerd en nu PHP. Ik voer dit allemaal als root uit. libphp4.la en libphp4.a kan ie wel in de modules map (/opt/webserver/apache/modules) wegschrijven (en die staan er ook in).

Waarom werkt het niet? Wat gaat er fout? Wat moet ik veranderen?
Offline Voldemort - 13/07/2007 11:53 (laatste wijziging 13/07/2007 17:16)
Avatar van Voldemort PHP ver gevorderde Het heeft altijd prima gewerkt zo + dmv rpm heb je nooit de versie die je wil, dat zijn altijd de laatste versie (PHP5) en ik wil PHP4 (draait m'n host ook).

Edit: Ik heb de volledige map met MySQL, Apache, etc weggesmeten en het nog eens geprobeerd, maar ik krijg altijd deze error bij de make install van php:

Citaat:
# make install
Installing PHP SAPI module: apache2handler
/opt/webserver/apache/build/instdso.sh SH_LIBTOOL='/opt/webserver/apache/build/libtool' libphp4.la /opt/webserver/apache/modules
/opt/webserver/apache/build/libtool --mode=install cp libphp4.la /opt/webserver/apache/modules/
cp .libs/libphp4.lai /opt/webserver/apache/modules/libphp4.la
cp .libs/libphp4.a /opt/webserver/apache/modules/libphp4.a
ranlib /opt/webserver/apache/modules/libphp4.a
chmod 644 /opt/webserver/apache/modules/libphp4.a
libtool: install: warning: remember to run `libtool --finish /home/quinten/Server/php-4.4.7/libs'
Warning! dlname not found in /opt/webserver/apache/modules/libphp4.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /opt/webserver/apache/modules/libphp4.so
chmod: kan geen toegang krijgen tot `/opt/webserver/apache/modules/libphp4.so': Onbekend bestand of map
apxs:Error: Command failed with rc=65536
.
make: *** [install-sapi] Fout 1


Hoe komt dit? Wat valt eraan te doen?
Offline HellsChicken - 15/07/2007 23:49
Avatar van HellsChicken Nieuw lid Installeer je server eens helemaal opnieuw.. want je hebt nu zoveel verwijderd, dat is niet goed.. Ook hebt je geen antwoord gegeven op mijn eerder gestelde vragen..
Offline Stijn - 16/07/2007 00:22
Avatar van Stijn PHP expert Je php4 stond dus al geinstalleerd en je wilde dus GD activeren. Download gd.so en zet die in /usr/lib/php4 (je zal een map moeten vinden met daarin mysql.so enzo). Dan open je je php.ini (/etc/php4/apache2/php.ini) en zet je volgende in je php.ini en dan opslaan, apache restarten... Ik versta niet waarom je apache en/of mysql zou bewerken. Het is een extionsion.

Citaat:
extension=gd.so
Offline Voldemort - 16/07/2007 17:26 (laatste wijziging 18/07/2007 14:20)
Avatar van Voldemort PHP ver gevorderde @HellsChicken: Wat heb ik soms teveel verwijderd? In die mappen stonden enkel php bestanden (heb het voor het verwijderen gecheckt). En welke vragen bedoel je?

@stijn1989: Dat kan nu dus niet meer aangezien ik volledig Apache, MySQL en PHP heb verwijderd. En waar zou ik die gd.so vandaan moeten halen?


Ik heb Apache 1.3.37 geprobeerd, maar dat hielp ook niet, dan krijg ik bij de make install van php dit:

Citaat:
Installing PHP SAPI module: apache
[activating module `php4' in /www/conf/httpd.conf]
cp libs/libphp4.so /www/libexec/libphp4.so
cp: kan stat niet toepassen op `libs/libphp4.so': Onbekend bestand of map
apxs:Break: Command failed with rc=1
make: *** [install-sapi] Fout 1


Dus ik heb weer alles verwijderd aangezien het dus niet aan Apache (en daarom wil ik vanaf nu weer met versie 2.2.4 proberen en niet meer met oudere zoals 2.0.x of 1.3.x), maar aan PHP ligt.

Enig idee wat er aan te doen valt (buiten volledig Linux herinstalleren)?


Edit: Ik heb het werkende gekregen door:

- PHP opnieuw te downloaden
- Uitpakken en laten compilen in een andere map dan diegene die ik voorheen had gebruikt.

Welk van de 2 de echte oplossing was weet ik niet, maar het is nu opgelost.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s