Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

PHP5 erstellt beim Kompilieren keine Module/".so"-Dateien

GNU/Linux-, *BSD- und Fricklerforum
Antworten
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

PHP5 erstellt beim Kompilieren keine Module/".so"-Dateien

Beitrag von rund »

Morgen... (leider kein guter)

E
R
S
T
M
A
L

D
A
S

A
D

Ich hänge hier nach einem Einbruch seit zwei Tagen dran einen Server mit Suse 10.3 upzudaten.
Deswegen muss ich auch gleich vorweg nehmen, dass ich keinerlei Repositories mit aktuellen RPMs mehr habe. Es bleibt mir nur das kompilieren der Pakete (neu Aufsetzen würde viel zu viel Ausfall erzeugen).

Was ich bisher schon habe ist, dass ich Apache2.4.2, PHP5.3.15 und MySQL5.5.27 generell zur Zusammenarbeit nötigen konnte.
Was aber nicht klappt ist, dass für die Optionen, die ich bei configure angebe am Ende auch Module (.so) erstellt werden. PHP erstellt einzig die .so-Datei für den Apache, sonst passiert nichts.

Der Sever läuft damit zwar erstmal, aber ohne Dinge wie exif komm ich nicht weit. In phpinfo() wird zwar angezeigt, dass z.b. gd und exif aktiv sind, aber Module finde ich trotzdem keine. Fehler bekomme ich bei configure, make und make install keine, bei starten des Servers bekomme ich aber genau die fehlenden Module angemeckert.

Habt ihr irgendwelche Ideen woran das liegen könnte?
In einem Forum hatte ich mal was gelesen, dass leere Einträge von extension_path in der php.ini Probleme bereiten können, vorsichtshalber hab ich die Zeilen jetzt aber mal alle auskommentiert und die .inis selbst auch umbenannt. Ich hab grad keine Ansatzpunkt mehr was das angeht....

Anbei mal der Auszug vom Kompilieren:

[Bash] php_compile - Pastebin.com

Und die Fehlermeldungen beim Start:

apache_start - Pastebin.com

An besagter Stelle befindet sich nur zwei Module, die ich mal über PEAR nachinstalliert habe:

Code: Alles auswählen

Dalek:/var/log/apache2 # ll /usr/lib/php5/extensions/
total 824
-rw-r--r-- 1 root root  54536 Aug 18 03:30 mdbtools.so
-rw-r--r-- 1 root root 301296 Aug 18 03:30 timezonedb.so
Edit: Evtl. noch hilfreich:

Code: Alles auswählen

Dalek:~/Desktop/Packages # php -m
[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
hash
iconv
json
libxml
mysql
mysqli
mysqlnd
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

[Zend Modules]

wildtollwut
Biker
Biker
Beiträge: 1031
Registriert: Mär 2003

Beitrag von wildtollwut »

Also für mich sieht die 'make'-Ausgabe so aus, als wenn die erzeugten libtool-Objekte im letzten libtool-Aufruf verwendet würden, um alles in 'sapi/cli/php' hineinzulinken. Habe jetzt keine Erfahrung beim Bauen von php, aber groß nach Fehlern sieht das nicht aus.
Normalerweise verwendet php doch z.B. die installierte libgd, gibt's die denn nicht?
Wenn sie nirgends liegen, mußt du sie wahrscheinlich tatsächlich jeweils separat kompilieren.
Sollten in ./ext/ im Quellverzeichnis liegen und jeweils auch ein eigenes ./configure besitzen.
Vielleicht geht's auch einfacher, habe aber wie gesagt keine Erfahrung.
Gründungsmitglied und Vorstandsvorsitzender der ersten offziellen PQ.de-Exorzisten-(CS-Austreiber)-Offensive.
Bild
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

Also nach configure sieht es im ext-Verzeichnis nicht aus:

[Bash] directory_browse - Pastebin.com

Auf "etwas anderes" scheint PHP auch nicht zuzugreifen, zumindest existieren die nötigen Funktionen für die Ausführung nicht:

Code: Alles auswählen

Dalek:~/Desktop/Packages/php/php-5.3.15/ext/exif # php example.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional">
<html>
<head>
<title>exif_read_data example</title>
</head>
<body>

Fatal error: Call to undefined function exif_read_data() in /root/Desktop/Packages/php/php-5.3.15/ext/exif/example.php on line 13


Dalek:~/Desktop/Packages/php/php-5.3.15/ext/gd/tests # php libgd00086.phpt
--TEST--
libgd #86 (Possible infinite loop in imagecreatefrompng)
--SKIPIF--
skip gd extension not available

Auszug aus phpinfo():

Code: Alles auswählen


exif
EXIF Support  enabled  
EXIF Version  1.4 $Id$  
Supported EXIF Version  0220  
Supported filetypes  JPEG,TIFF  

Directive Local Value Master Value 
exif.decode_jis_intel JIS JIS 
exif.decode_jis_motorola JIS JIS 
exif.decode_unicode_intel UCS-2LE UCS-2LE 
exif.decode_unicode_motorola UCS-2BE UCS-2BE 
exif.encode_jis no value no value 
exif.encode_unicode ISO-8859-15 ISO-8859-15 


gd
GD Support  enabled  
GD Version  bundled (2.0.34 compatible)  
GIF Read Support  enabled  
GIF Create Support  enabled  
PNG Support  enabled  
libPNG Version  1.2.18  
WBMP Support  enabled  
XBM Support  enabled  

Directive Local Value Master Value 
gd.jpeg_ignore_warning 0 0 
wildtollwut
Biker
Biker
Beiträge: 1031
Registriert: Mär 2003

Beitrag von wildtollwut »

erstens, warum gehören die Dateien 'haldeamon:messagebus'?
zweites, ok, configure gibt es nicht direkt, aber nach automake etc. sieht es schon aus.
So wie ich das sehe, wird aber z.B. exif schon mitgebaut, und wahrscheinlich statisch in die Exe gelinkt. Sollte für exif aber nicht auch noch 'mbstring' gebaut werden? Obwohl, ich glaube das war nur unter Windows so...
Ich vermute das Problem insgesamt eher in der Konfigurationsdatei, die phpinfo() sieht ja vernünftig aus.
Gründungsmitglied und Vorstandsvorsitzender der ersten offziellen PQ.de-Exorzisten-(CS-Austreiber)-Offensive.
Bild
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Afaik ist 10.3 eol, update auf eine supportete Version.

Und hör mit diesem "Erstmal das AD auf", so hilft dir doch niemand freiwillig.
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

wildtollwut hat geschrieben:erstens, warum gehören die Dateien 'haldeamon:messagebus'?
zweites, ok, configure gibt es nicht direkt, aber nach automake etc. sieht es schon aus.
Keine Ahnung, warum die Dateien haldeamon gehört haben. Evtl. weil ich die Tar-File über die GUI entpackt habe? Jedenfalls hat ein Ändern auf root/root auch nichts gebracht. Mit automake hab ich ein wenig experimentiert, aber das Unterverzeichnis lies sich nicht einfach so eigenständig kompilieren. Im Prinzip hast du aber wohl recht, dass die Dateien inzwischen direkt in die phplib mit eingewurstet werden.
fame hat geschrieben:Afaik ist 10.3 eol, update auf eine supportete Version
Genau deswegen hatte ich ja oben geschrieben, dass ich kein Softwaredepot nutzen kann :rolleyes:
Solche blöden Bemerkungen nutzen niemandem etwas.
fame hat geschrieben:Und hör mit diesem "Erstmal das AD auf", so hilft dir doch niemand freiwillig.
Mir hilft wohl eher niemand, wenn der geneigte Betrachter nicht den tollen PQ-Width=100%-CSS-Mod verwendet und den Text erst in notepad kopieren und mit Zeilenschaltungen versehen muss um ihn zu lesen. Ich mach das zumindest nur noch sehr selten.

@Topic: Ich hab jetzt einfach mal mit locate alle php-Dateien auf der Platte gesucht und gelöscht und apache, apr-util und apr neu compiliert/installiert. Danach musste ich den PHP-Quelltext nochmal neu entpacken (make clean hilft da scheinbar nichts) und PHP als application bei /usr/local/apache2/conf/mime.types hinzufügen. Jedenfalls sind jetzt die Fehlermeldungen verschwunden, meine Bilder werden aber immer noch nicht angezeigt. Ich vermute ich muss da mit --with-jpeg-dir arbeiten, bzw. noch irgendwas richtung jpeg-devel nachinstallieren. Leider crushed PHP beim installieren eine lib, die der Paketmanager braucht (dafür sollte die DVD ausreichen) und ich weiß die File nicht mehr. Muss ich nachher mal auf der Abreit schauen, wo ich über die GUI zumindest eine Fehlermeldung bekomme, die mich über Google zur richtigen Datei führt.
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

rund hat geschrieben:Genau deswegen hatte ich ja oben geschrieben, dass ich kein Softwaredepot nutzen kann :rolleyes:
Solche blöden Bemerkungen nutzen niemandem etwas.
Natürlich helfen solche Bemerkungen. So eine alte Version zu nutzen ist doch sicherheitstechnisch der reinste Selbstmord, wieso also Arbeit investieren.

Oder ist das ganze nicht privat von dir? Dann könntest du im Zweifel nix dafür, Firmen sind leider viel zu oft so dämlich.
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

Deswegen date ich ja alle Software mit Schnittstellen nach außen up.
Eben weil auch tatsächlich jemand eingebrochen ist.

Und ja, dass ist ne Maschine auf der Arbeit im Wirkbetrieb. Die kann ich nicht einfach mal zwei Wochen vom Netz nehmen um in aller ruhe ne neue Distri aufzuspielen und zu konfigurieren. Wenn das Ding steht, steht der Betrieb.


Edit: Yaaaaaaaaaaaaaaaaahhhhhh: Ich habe jpeg gemacht!!

Um Yast wieder zum laufen zu bekommen:

Code: Alles auswählen

mv /usr/local/lib/libz.so.1 /usr/local/lib/_libz.so.1

Musste noch folgende Pake installieren:
libjpeg-6.2.0-812
libjpeg-devel-6.2.0-78
libpng-devel-1.2.18-15
xorg-x11-libXpm-devel-7.2-65

und bei ./configure folgendes hinzufügen:

Code: Alles auswählen

./configure --with-mysql=/usr/bin/mysql_config  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --prefix=/usr --datadir=/usr/share/php5 --mandir=/usr/share/man --bindir=/usr/bin --with-libdir=lib --includedir=/usr/include --sysconfdir=/etc/php5/apache2 --with-config-file-path=/etc/php5/apache2 --with-config-file-scan-dir=/etc/php5/conf.d --enable-libxml --enable-xml --enable-simplexml --enable-filter --disable-debug --enable-inline-optimization --disable-rpath --disable-static --enable-shared --program-suffix=5 --with-pic --disable-all --enable-cli --enable-pdo --with-apxs2=/usr/local/apache2/bin/apxs --with-pear --with-zlib --with-gd --enable-pcntl --enable-exif --enable-session --with-jpeg-dir=/usr/lib --with-freetype-dir=/usr/lib/ --with-xpm-dir=/usr/lib
pawlak
Assist
Assist
Beiträge: 5811
Registriert: Feb 2002

Beitrag von pawlak »

Äh also sone Distri ist ja jetzt in paar Stunden druff und eingerichtet. SuSE wird man ja auch automatisch aktualisieren können, oder? So frickelst du halt deutlich länger rum.
Original geschrieben von pagenez
ach und pawlak?
du verhurrtes stück einer dreckwurst, halt doch bitte dein maul, ja? wer absolut kein real-life hat, einer wie du, der absolut nichts zu tun hat, als seine scheiße im irc auf andere abzulassen, sollte sich seinen daumen in das arschloch schieben, die augen schließen und dabei an *****n denken.
alles klar?
gut!
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

rund hat geschrieben:Deswegen date ich ja alle Software mit Schnittstellen nach außen up.
Eben weil auch tatsächlich jemand eingebrochen ist.

Und ja, dass ist ne Maschine auf der Arbeit im Wirkbetrieb. Die kann ich nicht einfach mal zwei Wochen vom Netz nehmen um in aller ruhe ne neue Distri aufzuspielen und zu konfigurieren. Wenn das Ding steht, steht der Betrieb.
Naja, wenn man von der 10.3er noch nicht auf die neue Version updaten kann (glaub bei Suse gibt's das erst seit der 11er?!) dann halt neuen Server aufsetzen, Migration planen und durchführen. Das sind keine 2 Wochen ;)

Alle Schnittstellen updaten? Ich hoffe auch SSH. Und dann bald den 3.6er Kernel, da dort wichtige Fixes bezüglich des Zufallsgenerators eingeflossen sind etc. Du wirst doch so immer und immer wieder Probleme haben.
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

fame hat geschrieben:Naja, wenn man von der 10.3er noch nicht auf die neue Version updaten kann (glaub bei Suse gibt's das erst seit der 11er?!) dann halt neuen Server aufsetzen, Migration planen und durchführen. Das sind keine 2 Wochen ;) .
Die neuen Server stehen ja schon seit fast einem halben Jahr da, aber ich habe einfach keine Zeit das alles umzuziehen. Die Server sind eben nicht nur Webserver und ein paar Datenbanken - da wurde die letzten Jahren einfach sehr viel konfiguriert (teilweise relativ tief im System... udev-rules, etc.) und nachkompilert (was es von Anfang an nicht in der Paketverwaltung gab). In Tagen a 6,8h gerechnet hab ich jetzt ja alleine für die Absicherung des alten Systems über eine Woche gebracht. Und das eben nur Apache, PHP, MySQL, (ja, auch SSH) und Samba. Beim neu Aufsetzen hätte ich den Aufwand ja zumindest auch, weil ich z.B. PHP wieder auf eine 5.3er-Version heruntergraden muss, damit unsere PHP-Sachen sauber laufen (da wurden einige Funktionen mit der 5.4er-Reihe entfernt), plus die ganzen Sachen für GSM/UMTS, Ser2Net/UDEV, WebDAV, Mail, XML, Oracle, SSHFS, TCL, irgendwelche Add-Ons für Samba, Telnet/rbash, Backuppartitionen/Skripte, KDE3-Downgrade, neue IP-Freigaben an den Schnittstellen-Servern, NAT-Einträge an den zentralen Routern für die alte IP und hast du nicht gesehen.... das macht denke ich niemand in unter zwei Wochen... schon gar nicht neben seinem eigentlichen Job, der auch weiter bedient werden will.
pawlak
Assist
Assist
Beiträge: 5811
Registriert: Feb 2002

Beitrag von pawlak »

rund hat geschrieben:KDE3-Downgrade
Alles klar.


Dann sorge mal dafür, dass das Zeug auch mit PHP 5.4 läuft. Auf Dauer verplemperst du damit viel mehr Zeit mit der Kompilierung als mit Neuaufsetzen des Systems.
Original geschrieben von pagenez
ach und pawlak?
du verhurrtes stück einer dreckwurst, halt doch bitte dein maul, ja? wer absolut kein real-life hat, einer wie du, der absolut nichts zu tun hat, als seine scheiße im irc auf andere abzulassen, sollte sich seinen daumen in das arschloch schieben, die augen schließen und dabei an *****n denken.
alles klar?
gut!
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

Es ist eben alles eine Zeitfrage und nicht alles liegt an der Stelle in meiner Hand.

Die Produktentwicklung rollt unaufhaltsam weiter und irgendwie muss man schritt halten...
fame
Combo
Combo
Beiträge: 13806
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Gerade unter diesem Gesichtspunkt ist ein nicht supportetes OS doch der absolute Obergau. Bei so einem wichtigen Server hättet ihr von Anfang an Support dazukaufen sollen. Wenn das Ding morgen stehen bleibt und ihr 4 Wochen braucht um es wieder zum laufen zu bringen...
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

Support _kaufen_?
Du meinst Geld ausgeben?? :lol:

Und um mal den Begriff Server zu definieren: Das sind ganz normale Arbeitsplatzrechner mit n bissl Peripherie und halblegal nachgerüstetem RAM auf die man halt "irgendwie" Linux aufgespielt hat.

Btw. Leckt mich am Ar***...
http://www.heise.de/newsticker/meldung/ ... 71294.html
rund
Accuracy
Accuracy
Beiträge: 8184
Registriert: Aug 2000

Beitrag von rund »

OK, ein Problem hab ich noch...
Damit PHPMyAdmin richtig funktioniert benötige ich noch die Json-Erweiterung.
Die konnte ich über PECL laden, aber nicht installieren (einige Pakete scheinen da mit dem aktuellen PHP Probleme zu haben). Ich hab die Dateien dann selbst versucht zu kompilieren, was im Prinzip auch gelang, aber ich kann die Module nicht laden:

[22-Aug-2012 18:13:50 UTC] PHP Warning: PHP Startup: json: Unable to initialize module
Module compiled with build ID=API20090626,NTS
PHP compiled with build ID=API20090626,TS

Was ich jetzt gelesen habe ist PHP in Kombination mit Apache immer TS (Thread-Safe), aber wie bekomme ich das Modul ebenso kompiliert?
Ich finde da keinen Schalter, bzw. keinen Ausgangspunkt, woran festgemacht wird, wann ein Modul TS oder NTS wird.

€dit: Hat sich im Prinzip schon erledigt. Gab für PHP selbst einen Schalter "--enable-json", war nur nirgends dokumentiert :/
Die Antwort wär aber trotzdem mal interessant zu wissen, für Module, die ich nicht in PHP hab.
Antworten