• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Problem mit PHP!

rakso

Well-Known Member
Themenstarter #1
Seit einiger Zeit funktioniert hier PHP nichtmehr.. ich weiss nicht, warum.

Habe schon Apache-13-modssl und php4 aus den ports deinstalliert und neu installiert.


In den error_logs bekomme ich z.B. folgende Fehler:

PHP Fatal error: Call to undefined function: preg_match() in /.../phpMyAdmin/libraries/defines.lib.php on line 25



PHP Fatal error: Call to undefined function: session_id() in /.../gallery/session.php on line 39




Sehr seltsam... was kann ich machen - wo anfangen mit Fehlersuche?
 

mike

Well-Known Member
#2
Hi!
Das klingt, als ob er die libs nicht findet. Schau dir mal die /var/log/httpd-error an. Wenn er beim apachectrl stop && apachectrl start was von fehlenden *.so Dateien redet, musst du nur den Pfad in /usr/local/etc/php.ini anpassen

mfg
 

wysiib

Well-Known Member
#3
rakso hat gesagt.:
Seit einiger Zeit funktioniert hier PHP nichtmehr.. ich weiss nicht, warum.

Habe schon Apache-13-modssl und php4 aus den ports deinstalliert und neu installiert.


In den error_logs bekomme ich z.B. folgende Fehler:

PHP Fatal error: Call to undefined function: preg_match() in /.../phpMyAdmin/libraries/defines.lib.php on line 25



PHP Fatal error: Call to undefined function: session_id() in /.../gallery/session.php on line 39




Sehr seltsam... was kann ich machen - wo anfangen mit Fehlersuche?
warscheinlich hast du /usr/portsUPDATING nicht gelesen.

die Extensions die du brauchst haben jetzt einen eigenen Port.
 

rakso

Well-Known Member
Themenstarter #4
wysiib hat gesagt.:
warscheinlich hast du /usr/portsUPDATING nicht gelesen.

die Extensions die du brauchst haben jetzt einen eigenen Port.
lol.... na klar... hab bis jetzt eigentlich immer ab und zu mal reingeschaut.... aber bei Apache + PHP..... das sich da mal was ändert ;-)

nun hab ich zwar devel/php4-pear und lang/php4-extenstions installiert (& apache stop && start), aber es klappt immernoch nicht.
 

d4mi4n

volksoperator on duty
#5
ääähm reicht es nicht wenn man mod_php installiert? nur so als einwurf, ist mod_php nur das modul für apache?
 

rakso

Well-Known Member
Themenstarter #6
d4mi4n hat gesagt.:
ääähm reicht es nicht wenn man mod_php installiert? nur so als einwurf, ist mod_php nur das modul für apache?
das habe ich ja sowiso schon installiert gehabt... scheint wohl nicht zu reichen. Allerdings gehts jetzt immernoch nicht.


Eine wichtige Frage noch:
Wie kann ich erneut das Konfigurations-Menü zu Gesicht bekommen, wo man die Features aktivieren kann? Einmalig kam es, aber nach einem make install, make clean, make distclean, rm -rf php4-extentions & cvs-checkout heisst es immer:


# make
===> Vulnerability check disabled
===> Found saved configuration for php4-extensions-1.0
===> Extracting for php4-extensions-1.0
===> Patching for php4-extensions-1.0
===> Configuring for php4-extensions-1.0


Wo ist diese "saved configuration" ?
 

rakso

Well-Known Member
Themenstarter #7
mike hat gesagt.:
Hi!
Das klingt, als ob er die libs nicht findet. Schau dir mal die /var/log/httpd-error an. Wenn er beim apachectrl stop && apachectrl start was von fehlenden *.so Dateien redet, musst du nur den Pfad in /usr/local/etc/php.ini anpassen
mfg
Da ist nichts auffälliges:

[Fri Sep 3 11:12:16 2004] [notice] Apache configured -- resuming normal operations
[Fri Sep 3 11:12:16 2004] [notice] Accept mutex: flock (Default: flock)
 

onegroup

Well-Known Member
#8
d4mi4n hat gesagt.:
ääähm reicht es nicht wenn man mod_php installiert? nur so als einwurf, ist mod_php nur das modul für apache?

es muss der Pfad in der php.ini angepasst werden

extension_dir = "/usr/local/lib/php/20020429/" mit php 4.3.8 aus den ports
 

rakso

Well-Known Member
Themenstarter #9
onegroup hat gesagt.:
es muss der Pfad in der php.ini angepasst werden

extension_dir = "/usr/local/lib/php/20020429/" mit php 4.3.8 aus den ports
Danke für den Hinweis, habe ich soeben probiert.

in UPDATTING steht:

If you have a previous php.ini configuration file, be sure to comment out
the extension_dir parameter, since the correct path is statically compiled
into the PHP binary.


Also auch auskommentiert, und - leider - mit keinem von beiden Möglichkeiten Erfolg :(
 

onegroup

Well-Known Member
#10
rakso hat gesagt.:
Danke für den Hinweis, habe ich soeben probiert.

in UPDATTING steht:

If you have a previous php.ini configuration file, be sure to comment out
the extension_dir parameter, since the correct path is statically compiled
into the PHP binary.


Also auch auskommentiert, und - leider - mit keinem von beiden Möglichkeiten Erfolg :(
Stimmt den der Pfad zu den Extension? Ich habe auch die extension installiert funktioniert wunderbar.

Kann auch sein das er den Pfad zur php.ini nicht nimmt. mal in der php.ini prüfen.
 

rakso

Well-Known Member
Themenstarter #11
> Stimmt den der Pfad zu den Extension?

Ja...

ls -l /usr/local/lib/php/20020429/
total 368
-r--r--r-- 1 root wheel 10118 Sep 3 10:40 ctype.so
-r--r--r-- 1 root wheel 33123 Sep 3 10:41 gmp.so
-r--r--r-- 1 root wheel 13183 Sep 3 10:42 iconv.so
-r--r--r-- 1 root wheel 48505 Sep 3 10:43 mysql.so
-r--r--r-- 1 root wheel 15722 Sep 3 10:43 overload.so
-r--r--r-- 1 root wheel 92726 Sep 3 10:37 pcre.so
-r--r--r-- 1 root wheel 21195 Sep 3 10:44 posix.so
-r--r--r-- 1 root wheel 52751 Sep 3 10:45 session.so
-r--r--r-- 1 root wheel 18071 Sep 3 10:45 tokenizer.so
-r--r--r-- 1 root wheel 34184 Sep 3 10:38 xml.so
-r--r--r-- 1 root wheel 28405 Sep 3 10:46 zlib.so



> Ich habe auch die extension installiert funktioniert wunderbar.

Wie ich solche Meldungen liebe.... bei jedem funktionierts, bei mir mal wieder nich... ;)


> Kann auch sein das er den Pfad zur php.ini nicht nimmt. mal in der php.ini prüfen

Stimmt auch... habe mit den error-Optionen herungespielt.. die Änderungen in /usr/local/etc/php.ini sind wirksam...

Muss noch vielleicht dazugesagt werden, das bei mir der Webserver in einer jail mit ro /usr läuft. (/usr/local/etc/ ist aber autonom und rw)

Funktionierte aber so bisher prima.
 

onegroup

Well-Known Member
#12
rakso hat gesagt.:
> Stimmt den der Pfad zu den Extension?

Ja...

ls -l /usr/local/lib/php/20020429/
total 368
-r--r--r-- 1 root wheel 10118 Sep 3 10:40 ctype.so
-r--r--r-- 1 root wheel 33123 Sep 3 10:41 gmp.so
-r--r--r-- 1 root wheel 13183 Sep 3 10:42 iconv.so
-r--r--r-- 1 root wheel 48505 Sep 3 10:43 mysql.so
-r--r--r-- 1 root wheel 15722 Sep 3 10:43 overload.so
-r--r--r-- 1 root wheel 92726 Sep 3 10:37 pcre.so
-r--r--r-- 1 root wheel 21195 Sep 3 10:44 posix.so
-r--r--r-- 1 root wheel 52751 Sep 3 10:45 session.so
-r--r--r-- 1 root wheel 18071 Sep 3 10:45 tokenizer.so
-r--r--r-- 1 root wheel 34184 Sep 3 10:38 xml.so
-r--r--r-- 1 root wheel 28405 Sep 3 10:46 zlib.so


was sagt denn phpinfo? Kann man sich das mal anschauen?
> Ich habe auch die extension installiert funktioniert wunderbar.

Wie ich solche Meldungen liebe.... bei jedem funktionierts, bei mir mal wieder nich... ;)


> Kann auch sein das er den Pfad zur php.ini nicht nimmt. mal in der php.ini prüfen

Stimmt auch... habe mit den error-Optionen herungespielt.. die Änderungen in /usr/local/etc/php.ini sind wirksam...

Muss noch vielleicht dazugesagt werden, das bei mir der Webserver in einer jail mit ro /usr läuft. (/usr/local/etc/ ist aber autonom und rw)

Funktionierte aber so bisher prima.
Kann man sich die phpinfo mal anschaun?
 

rakso

Well-Known Member
Themenstarter #15
PHP Version 4.3.8
Build Date Sep 2 2004 21:58:40

Configure Command './configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--with-regex=php' '--with-apxs=/usr/local/sbin/apxs' '--prefix=/usr/local' 'i386-portbld-freebsd5.2.1'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/local-etc/php.ini
Scan this dir for additional .ini files /usr/local/etc/php
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety disabled
Registered PHP Streams php, http, ftp



PHP Core
extension_dir /usr/local/lib/php/20020429 /usr/local/lib/php/20020429
....


Apache
Loaded Modules mod_ssl, mod_php4, mod_setenvif, mod_so, mod_unique_id, mod_usertrack, mod_headers, mod_expires, mod_cern_meta, mod_proxy, mod_digest, mod_auth_db, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_config, mod_define, mod_env, mod_vhost_alias, mod_mmap_static, http_core


Additional Modules
Module Name

(also keine additional ..)
 

onegroup

Well-Known Member
#16
rakso hat gesagt.:
PHP Version 4.3.8
Build Date Sep 2 2004 21:58:40

Configure Command './configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--with-regex=php' '--with-apxs=/usr/local/sbin/apxs' '--prefix=/usr/local' 'i386-portbld-freebsd5.2.1'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/local-etc/php.ini
Scan this dir for additional .ini files /usr/local/etc/php
PHP API 20020918
PHP Extension 20020429
Zend Extension 20021010
Debug Build no
Thread Safety disabled
Registered PHP Streams php, http, ftp



PHP Core
extension_dir /usr/local/lib/php/20020429 /usr/local/lib/php/20020429
....


Apache
Loaded Modules mod_ssl, mod_php4, mod_setenvif, mod_so, mod_unique_id, mod_usertrack, mod_headers, mod_expires, mod_cern_meta, mod_proxy, mod_digest, mod_auth_db, mod_auth_anon, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_speling, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_info, mod_status, mod_negotiation, mod_mime, mod_mime_magic, mod_log_config, mod_define, mod_env, mod_vhost_alias, mod_mmap_static, http_core


Additional Modules
Module Name

(also keine additional ..)
bei mir steht ./configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--with-regex=php' '--disable-cli' '--with-apxs=/usr/local/sbin/apxs' '--prefix=/usr/local' 'i386-portbld-freebsd4.9'

fehlt bei dir irgendwie '--disable-cli' vielleicht liegts daran?

die modul liste ist auch leer.
 

rakso

Well-Known Member
Themenstarter #17
onegroup hat gesagt.:
bei mir steht ./configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--with-regex=php' '--disable-cli' '--with-apxs=/usr/local/sbin/apxs' '--prefix=/usr/local' 'i386-portbld-freebsd4.9'

fehlt bei dir irgendwie '--disable-cli' vielleicht liegts daran?

die modul liste ist auch leer.
ob ich jetzt noch die CLI-Version hab, oder nicht.. dürfte doch egal sein.
Module haben eher was mitm Apache zu tun, aber ich würd mir eher Sorgen machen, wenn sie leer ist.


Ich habe eigentlich noch viele andere Optionen für php.. die habe ich früher immer in php4/work/Makefile.inc reingeschrieben:

WITH_ICONV=yes
WITH_IMAP=yes
WITH_MBSTRING=yes
WITH_MCAL=yes
...


wo muss man die jetzt plazieren? Im Makefile steht was von einem OPTIONSFILE..
 

onegroup

Well-Known Member
#18
rakso hat gesagt.:
ob ich jetzt noch die CLI-Version hab, oder nicht.. dürfte doch egal sein.
Module haben eher was mitm Apache zu tun, aber ich würd mir eher Sorgen machen, wenn sie leer ist.


Ich habe eigentlich noch viele andere Optionen für php.. die habe ich früher immer in php4/work/Makefile.inc reingeschrieben:

WITH_ICONV=yes
WITH_IMAP=yes
WITH_MBSTRING=yes
WITH_MCAL=yes
...


wo muss man die jetzt plazieren? Im Makefile steht was von einem OPTIONSFILE..

wieso?


normal macht man doch ein

cd /usr/ports/www/mod_php4
make deinstall && make clean && make install clean

dann

cd /usr/ports/lang/php4-extensions

make deinstall && make clean && make install clean

default ist dort ctype, mysql, overload, pcre, posix, session, tokenizer, xml and zlib

Aber die auswahl bietet ja imap usw.
 

rakso

Well-Known Member
Themenstarter #21
edit: yes, make rmconfig wars!

nu mal ein paar mehr optionen.... aber daran kann das eigentliche problem ja nicht liegen..
 

onegroup

Well-Known Member
#22
rakso hat gesagt.:
edit: yes, make rmconfig wars!

nu mal ein paar mehr optionen.... aber daran kann das eigentliche problem ja nicht liegen..

hast du schonmal probiert die module in der php.ini einzeln mit pfad aufzurufen?

das hatte bei zumindest fehler gegeben
 

rakso

Well-Known Member
Themenstarter #25
onegroup hat gesagt.:
das verzeichniss vor die *.so setzten.
Ich verstehs immernoch nich.. sorry ;)

Jetz hab ich mal eine neue php.ini genommen.

Da gibts

----------
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename.extension
;
; For example, on Windows:
;
; extension=msql.dll
;
; ... or under UNIX:
;
; extension=msql.so
---------------------------------

Meintest wohl das.. aber session müsste doch per default drin sein.. und da gibts bei mir ja fehler (session_start und so)
 
Zuletzt bearbeitet: