# PHP und md5

## gsnerf

Howdy,

hab da ein kleines Problem (ach was, sonst schreibt man hier eh selten was rein  :Wink: )

Ich brauch für eines meiner php scripte die methode "md5()". Unglücklicherweise meint mein PHP5 das es das nicht kennt.

Ich geh mal ganz stark davon aus, dass das betreffende USE flag nicht gesetzt ist. Ich hab jetz einige USE flags ausprobiert, aber stupides ständiges neu emergen bringts nicht so wirklich und die Beschreibungen zu den flags des Pakets sind auch nicht hilfreich.

Es wär klasse wenn mir jemand sagen könnte hinter welchem USE flag das Ding steckt. Es fehlen btw alle hash/codierungs Methoden (crc32/sha1 ect).

Was mich ein wenig wundert ist das er auch mhash nicht kennt obwohl ich das flag (mhash) eincompiled hab.

MfG Gsnerf

----------

## bmuskalla

compiliere mein php selbst,  benutzte nicht die ebuilds, aber eigentlich ist md5 bestandteil der standard-extension die sowieso in jedem php (egal welche use flags bzw. configure optionen) vorhanden ist (siehe http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/md5.c?view=log)

poste doch mal version und genaue fehlermeldung

----------

## gsnerf

```
[ebuild   R   ] dev-lang/php-5.1.2-r1  -adabas -apache +apache2 -bcmath -berkdb -birdstep +bzip2 -calendar -cdb -cgi -cjk -cli +crypt -ctype -curl -curlwrappers -db2 -dbase -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif -fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external -gdbm +gmp -hardenedphp -hash -hyperwave-api +iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos -ldap -libedit -mcve -memlimit +mhash -ming -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc -pcntl +pcre -pdo -pdo-external -pic -posix -postgres -qdbm +readline -recode -reflection -sapdb -sasl +session -sharedext -sharedmem -simplexml -snmp +soap +sockets -solid +spell -spl* -sqlite +ssl -sybase -sybase-ct -sysvipc -threads -tidy -tokenizer +truetype -vm-goto -vm-switch -wddx +xml -xmlreader +xmlrpc -xmlwriter -xpm +xsl -yaz +zip +zlib 0 kB
```

Fehlermeldung: "Fatal error: Call to undefined function  md5() in [...]" statt [...] natürlich scriptname und zeile

----------

## pablo_supertux

das sind meine:

```

[ebuild   R   ] dev-lang/php-5.1.2  -adabas -apache +apache2 -bcmath +berkdb -birdstep +bzip2 -calendar +cdb -cgi -cjk +cli +crypt +ctype +curl +curlwrappers -db2 -dbase -dbmaker -debug -discard-path +doc -empress -empress-bcs -esoob +exif +fastbuild -fdftk -filepro -firebird -flatfile +force-cgi-redirect -frontbase +ftp +gd -gd-external +gdbm +gmp -hardenedphp -hash -hyperwave-api -iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos +ldap -libedit -mcve +memlimit -mhash -ming -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc +pcntl +pcre -pdo -pdo-external -pic +posix +postgres -qdbm +readline -recode -reflection -sapdb -sasl +session -sharedext -sharedmem +simplexml -snmp +soap +sockets -solid +spell +spl +sqlite +ssl -sybase -sybase-ct -sysvipc -threads -tidy +tokenizer +truetype -vm-goto -vm-switch -wddx +xml -xmlreader -xmlrpc -xmlwriter -xpm +xsl -yaz -zip +zlib 

```

oder 

```

dev-lang/php apache2 berkdb bzip2 cdb cli curlwrappers doc session mysql ldap gmp gd tiff postgres tokenizer -xpm xml dba pcre pcntl

```

in der /etc/portage/package.use

----------

## gsnerf

Neue Uses:

```
[ebuild   R   ] dev-lang/php-5.1.2-r1  -adabas -apache +apache2 -bcmath -berkdb -birdstep +bzip2 -calendar +cdb -cgi -cjk +cli +crypt -ctype -curl +curlwrappers -db2 -dbase -dbmaker -debug -discard-path +doc -empress -empress-bcs -esoob -exif -fastbuild -fdftk -filepro -firebird -flatfile -force-cgi-redirect -frontbase -ftp +gd -gd-external -gdbm +gmp -hardenedphp -hash -hyperwave-api +iconv -imap -informix -inifile -interbase -iodbc +ipv6 -java-external -kerberos +ldap -libedit -mcve -memlimit +mhash -ming -msql -mssql +mysql -mysqli +ncurses +nls -oci8 -oci8-instant-client -odbc +pcntl +pcre -pdo -pdo-external -pic -posix +postgres -qdbm +readline -recode -reflection -sapdb -sasl +session -sharedext -sharedmem -simplexml -snmp +soap +sockets -solid +spell -spl -sqlite +ssl -sybase -sybase-ct -sysvipc -threads -tidy +tokenizer +truetype -vm-goto -vm-switch -wddx +xml -xmlreader +xmlrpc -xmlwriter -xpm +xsl -yaz +zip +zlib 0 kB
```

Fehlermeldung:

 *Quote:*   

> 
> 
> Fatal error: Call to undefined function  md5() in [...]

 

Irgendwie zweifle ich grad an mir  :Sad: 

Kann man die methoden noch irgendwie in ner config "abstellen"? Das ich da irgendwo mist verzapft hab?

----------

## toralf

Hhm, wenn Du ein "stable" system verwendest, sollte dies hier

```
tfoerste@n22 ~ $ cat /etc/portage/package.use

#       package.use

#

=dev-lang/php-5* -recode cgi fastbuild iconv pdo-external sqlite

```

ausreichen, um php + apache für phpmyadmin + phpsysinfo etc. zu verwenden.

----------

## gsnerf

PHP und Apache an sich funktionieren prima, das ist nicht das Problem, ich habe nur keinen Zugriff auf die ganzen hash funktionen (md5(), sha1(), crc32() etc) die eigentlich im Standartpaket von php enthalten sein sollten.

----------

## toralf

Ah, sorry, wie sehen Deine Ausgaben bei diesen Befehlen aus :

```
tfoerste@n22 ~ $ ldd /usr/lib/apache2/modules/libphp5.so | grep cryp

        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb797d000)

        libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0xb76ad000)

        libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7309000)

        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb6f43000)

tfoerste@n22 ~ $ ldd /usr/lib/libcrypto.so.0.9.7

        linux-gate.so.1 =>  (0xffffe000)

        libdl.so.2 => /lib/libdl.so.2 (0xb7eb0000)

        libc.so.6 => /lib/tls/libc.so.6 (0xb7d96000)

        /lib/ld-linux.so.2 (0x80000000)

```

 ?

----------

## gsnerf

Da kommt bei mir folgendes raus:

```
Lusankaya gsnerf # ldd /usr/lib/apache2/modules/libphp5.so | grep cryp

        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7a44000)

        libmcrypt.so.4 => /usr/lib/libmcrypt.so.4 (0xb775c000)

        libcrypto.so.0.9.7 => /usr/lib/libcrypto.so.0.9.7 (0xb7424000)

        libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb70eb000)

Lusankaya gsnerf # ldd /usr/lib/libcrypto.so.0.9.7

        linux-gate.so.1 =>  (0xffffe000)

        libdl.so.2 => /lib/libdl.so.2 (0xb7ec6000)

        libc.so.6 => /lib/libc.so.6 (0xb7dad000)

        /lib/ld-linux.so.2 (0x80000000)
```

----------

## toralf

Guckst Du:  *gsnerf wrote:*   

> Da kommt bei mir folgendes raus:
> 
> ```
> 
> ...
> ...

 Weißt Du:

Meine libc ist gegen TLS (das "neue" SSL" gelinkt, deine nicht. Also hängt dein Problem weniger mit PHP als mit deiner glibc zusammen.

----------

## Haldir

Hmm?

So weit ich weiß hat /lib/tls nichts mit SSL v3.0 aka TLS zu tun

sondern nur mit NPTL und heißt dann Thread Local Storage...

wenn du USE="nptl nptlonly" setzt, ist das ganze auch nicht mehr vorhanden  :Wink: 

Ansonsten hab ich auch keine Ahnung wo das Problem sein könnte, ich hab php ohne großartig viele Useflags emerged (kein gcrypt support usw) und md5 funktioniert auch hier.

----------

## toralf

 *Haldir wrote:*   

> So weit ich weiß hat /lib/tls nichts mit SSL v3.0 aka TLS zu tun

 Autsch, da habe ich wohl einen Bock geschossen mit meiner Antwort, sorry.

----------

## Makido

Also PHP5 macht mächtig Probleme bei vielen Webseiten bei uns.

Deswegen hab ich auch ganz schnell auf die Aktuelle 4er-Version downgegradet.

Wenn Du es auch so machen willst, einfach in die /etc/portage/package.mask folgendes reinschreiben:

>=dev-lang/php-5

Gruß,

Maik

----------

## gsnerf

Nun nein, will ich nicht  :Smile: 

Hab mir bewusst PHP5 installiert. Schade das ihr mir nicht helfen könnt, mal schaun ob ich sonst irgendwo noch was auftreiben kann.

Trotzdem danke für die Hilfsversuche!

Gsnerf

----------

## sschlueter

Das ist AFAIK eine absolute Standardfunktion, die immer mit dabei sein müßte. Funktioniert bei mir auch, hab ich grad mal getestet.

Hast du es denn mal mit einem einzeiligen Testskript versucht?

----------

