Apache 2 + PHP 4.x (mit YaST) zu PhP 5.2 (selfcompiled)

Jurik

New Member
Hallo,

ich hatte auf unserem Test-Server Apache 2 + PhP 4.x installiert und alles schön + gut. Da unser Liveserver aber PhP 5.x hat und ich mit FreeTDS arbeiten muss, ergab sich nun die Chance Zeit für ein Upgrade zu investieren. :cool:

Jetzt habe ich einfach die neuste Version von PhP (5.2.0) downloaded, entpackt und folgendes configure ausgeführt:

Code:
./configure --prefix=/usr --datadir=/usr/share/php5 --mandir=/usr/share/man 
--bindir=/usr/bin --libdir=/usr/lib --includedir=/usr/include --with-_lib=lib 
--sysconfdir=/etc/php5/apache2 --with-config-file-path=/etc/php5/apache2 
--with-config-file-scan-dir=/etc/php5/conf.d --with-exec-dir=/usr/lib/php5/bin 
--enable-magic-quotes --enable-libxml --enable-session --with-pcre-regex --enable-xml 
--enable-simplexml --enable-spl --enable-safe-mode --enable-sigchild --disable-debug 
--enable-memory-limit --enable-inline-optimization --enable-cli --disable-all 
--enable-versioning --with-mssql=/usr/local/freetds

make && make install - fertig :rolleyes:

Nur leider benutzt der Apache immer noch PHP4 und ich frag mich nun - was muss ich noch machen? Mir ist aufgefallen, dass bei der Installation zum Beispiel kein dir Namens /etc/php5 existiert. Hängt es damit zusammen, dass ich Apache mit YaST installiert habe und nun die Standardconfig von der PhP Installation nicht mit der Verzeichnisstrukturierung von SuSE für Apache klar kommt? :confused:
 
Editier einmal: /etc/sysconfig/apache2
Dort ist eine Zeile: APACHE_MODULES="....
Dort steht irgendwo: php4 => ändern in php5

Das sollte es gewesen sein. Btw: Warum nimmst du nicht die 5.2er RPMs?
 
Das blöde ist nur, nach der installation von PHP5 finde ich nirgends die libphp5.so und somit bringt mir das editieren leider auch nichts :(

Da ich FreeTDS für den MSSQL Support brauch habe ich keine RPMs benutzt.

Eventuell ist ja der Wurm drin oder ein alter Versuch mit Zend auf 5.2 upzugraden, welcher fehlgeschlagen ist, sorgt dafür, dass PHP5.2 sich nicht richtig installiert. Bekomme auf jeden Fall keine Fehlermeldungen.

Glaube langsam, dass ich Apache + PHP runterhaun sollte und sauber neu raufmachen *grübel*
 
Bin mir da ganz sicher *smile*

Aber hab nun per YaST PHP 4 und den Apache runtergeknallt und mir die tarballs gezogen. Apache sauber installiert und php 5 sauber installiert ... und dann kam :eek:

Apache läuft aber kennt kein PHP :( obwohl folgendes:

Code:
/usr/local/apache/bin # ./httpd -t -D DUMP_MODULES
Loaded Modules:
 core_module (static)
 authn_file_module (static)
 authn_default_module (static)
 authz_host_module (static)
 authz_groupfile_module (static)
 authz_user_module (static)
 authz_default_module (static)
 auth_basic_module (static)
 include_module (static)
 filter_module (static)
 log_config_module (static)
 env_module (static)
 setenvif_module (static)
 mpm_prefork_module (static)
 http_module (static)
 mime_module (static)
 status_module (static)
 autoindex_module (static)
 asis_module (static)
 cgi_module (static)
 negotiation_module (static)
 dir_module (static)
 actions_module (static)
 userdir_module (static)
 alias_module (static)
 so_module (static)
 php5_module (shared)
Syntax OK

Also normal sollte er ja
PHP:
<?php phpinfo() ?>
darstellen *g* der liebe FireFox zeigt mir aber nur den 'Quelltext' an, sprich, er erkennt die PHP Tags nicht.

Werd jetzt aber mal weiterforschen *smile* ist mir langsam zu blöde. Weil des hat ich ja noch nie nach all den Serverinstallationen, das ich so nen Witz nicht zum Laufen bekomme. Wichtig ist halt nur, dass der Server MSSQL-tauglich ist - so blöde mir das auch selber ist ;)

Danke trotzdem schonmal für deine Hilfe und investierte Zeit :)
 
Also nachdem ich jetzt alles gelöscht habe, Apache2 neu aufgesetzt habe und PHP 5.2 auch fällt mir nun auf, dass der nicht mal eine php.ini erstellt. Irgendwas kann da doch nicht normal sein oder? Das php5 Modul wird vom Apache aber normal als shared geladen. *grübel* :confused:
 
Hallo.
Die php.ini wird nie automatisch erstellt. Die musst du aus den mitgelieferten PHP-Sources rüberkopieren.
Is klaa, dass der Rest bei dir auch nicht so ganz funktioniert ;) Du musst dem Compiler ja schon mitteilen, dass du es als Apache-Modul installieren willst!
--with-apxs2=/usr/sbin/apxs2(-prefork)

Weiteres gibts hier:
 
Ich habe nun folgende Werte beim Configure für PHP benutzt:
Code:
./configure --prefix=/usr/local/php5 --datadir=/usr/share/php5 
--mandir=/usr/share/man/php5 --bindir=/usr/local/php5/bin 
--exec-prefix=/usr/local/php5 --includedir=/usr/include/php5 
--sysconfdir=/etc/php5 --localstatedir=/var 
--with-config-file-path=/etc/php5 --with-execdir=/usr/lib/php5/bin 
--disable-debug --enable-inline-optimization --enable-memory-limit 
--enable-magic-quotes --enable-safe-mode --enable-sigchild 
--enable-session --enable-cli --with-pear=/usr/share/pear  
--with-config-file=/etc/php5/php.ini --with-apxs2=/etc/apache2/bin/apxs  
--with-mssql=/usr/local/freetds


Und schaue da - des Modul wird sogar beim Apache geladen - aber es passiert nix!!! Er stellt einfach kein PHP dar. Hab auch die php.ini in das Verzeichnis /etc/php5 kopiert.
Code:
intradb:/etc/apache2/bin # ./httpd -t -D DUMP_MODULES
Loaded Modules:
 core_module (static)
 authn_file_module (static)
 authn_default_module (static)
 authz_host_module (static)
 authz_groupfile_module (static)
 authz_user_module (static)
 authz_default_module (static)
 auth_basic_module (static)
 include_module (static)
 filter_module (static)
 log_config_module (static)
 env_module (static)
 setenvif_module (static)
 mpm_prefork_module (static)
 http_module (static)
 mime_module (static)
 status_module (static)
 autoindex_module (static)
 asis_module (static)
 cgi_module (static)
 negotiation_module (static)
 dir_module (static)
 actions_module (static)
 userdir_module (static)
 alias_module (static)
 so_module (static)
 php5_module (shared)


Werd nun erstemal wieder PHP4 zum Laufen bringen und hoffen das es klappt. Vorhin hatte ich es schon einmal und da ging dann kein mysql -.- zum Glück ist des nur der Testserver für unseren Webbereich :confused:
 
Ohne Log-Angaben etc können wir dir schlecht weiterhelfen. Alles zu erraten ist etwas zu schwer ;)
 
Nun ja - so wirklich Log-Dateien - wovon? :(
Der gibt ja keine Fehlermeldungen aus. Es macht ja insgesamt den Anschein als ob es läuft. Nur PHP Seiten stellt er einfach den Quelltext da, bzw will unterm IE des file downloaden.

Nun hab ich wieder per YaST Apache2 + PHP 4.x installiert.
Der Witz ist nun, dass bei phpinfo() folgendes steht:

Code:
Configure Command :
'./configure' '--prefix=/usr' '--datadir=/usr/share/php' 
'--mandir=/usr/share/man' '--bindir=/usr/bin' '--libdir=/usr/share' 
'--includedir=/usr/include' '--sysconfdir=/etc' '--with-_lib=lib' 
'--with-config-file-path=/etc' '--with-exec-dir=/usr/lib/php/bin' 
'--disable-debug' '--enable-inline-optimization' '--enable-memory-limit' 
'--enable-magic-quotes' '--enable-safe-mode' '--enable-sigchild' 
'--disable-ctype' '--disable-session' '--without-mysql' '--disable-cli' 
'--without-pear' '--with-openssl' '--with-apxs2=/usr/sbin/apxs2-prefork' 
'i586-suse-linux'

'--with-apxs2=/usr/sbin/apxs2-prefork' <- dieses File bräuchte ich ja spätestens dann, wenn ich PHP auf 5.x upgraden will. Nur - ich frag mich - wo ist es? *g* weil in dem Verzeichnis, bzw auf der gesamten Festplatte ist kein apxs oder apxs2-prefork File zu finden.
 
Schwing dich in Yast und installier apache2-devel
Dann kannst du apxs2-prefork benutzen.
Oder habe ich mich verlesen und du nutzt gar kein SuSe?
 
Ich habe alles, aber auch wirklich alles mögliche, was irgendwie im Zusammenhang mit Apache unter YaST zu finden ist, installiert.

apache2-prefork <- so heißt das Modul unter YaST. Ist installiert.

Langsam hab ich das Gefühl, dass ich besser bei der SuSE 9.3 Version bleiben sollen. Hab die 10.0 Version. Finde ist in dem Bereich eine der schlechtesten ever -.- allein schon, dass da wieder nur PHP4.2 drauf is ... aber des hat ja andere Gründe.

apache-devel <- gibbet nich *grübel* ... ich find aber noch einen Weg ... es muss einen geben *g*
 
apache-devel <- gibbet nich *grübel* ... ich find aber noch einen Weg ... es muss einen geben *g*
Auch nicht apache2-devel wie ich beschrieben hatte?
Dann benutze mal offizielle Mirrors. Die von den Hostern sind meist sehr mager bestattet.
Lässt sich alles über Google finden!
 
Offizielle Mirrors? :confused:

Dachte die original Enterprise Version würde ausreichen... :rolleyes:

Ich muss einfach mal schauen ob da irgendwas falsch gelaufen ist - nur neu install ist nicht möglich - obwohl Testsystem - des is a bissle doof. :mad:

Danke nochmal für deine Hilfe. Wenn ich weiter gekommen bin werd ich es posten :)
 
Back
Top