2017-04-04 3 views
-1

Ich habe phpMyAdmin läuft auf meinem Server und kann eine Verbindung zur Setup-Seite herstellen. Allerdings, wenn ich einen Server hinzuzufügen ging, schien es zu retten, aber jetzt die Übersichtsseite zeigt nichts Laden und error.log hat die folgenden:PHP Fehler undefinierte Funktion crypt_random_string mit phpmyadmin, apache2, php5.3

[Tue Apr 04 00:15:16 2017] [error] [client OMITTED] PHP Fatal error: Call to undefined function crypt_random_string() in /usr/share/phpMyAdmin/setup/lib/index.lib.php on line 333, referer: https://OMITTED/phpmyadmin/setup/index.php 

Ich glaube, das passiert, wenn es versucht, die Server-Authentifizierung zu speichern Passwort, aber für das Leben von mir kann ich nicht herausfinden, was ich installieren muss. Im laufenden centos6.8, Apache 2.2.15, PHP 5.3.3 und yum sagte mir phpMyAdmin 4,0

EDIT: meine Session Pfad/var/lib/php/session und hat die unten Erlaubnis (und Sitzungs Datei):

[[email protected] php]# ls -ltr session/ 
total 8 
-rw------- 1 apache apache 8021 Apr 4 00:15 sess_10h5if6dcctfhucej78678322lkhohlh 
[[email protected] php]# ls -ltr 
total 4 
drwxrwx--- 2 root apache 4096 Apr 4 00:00 session 
[[email protected] php]#pwd 
/var/lib/php 

ich auch durch den Kommentar über die referenzierten Pfade zu lesen, aber es ist nicht 100% hilfreich, da ich die Bibliothek nicht wissen, die diese Funktion enthält, also bin ich nicht sicher, welche im Datei zu finden versuchen, ./usr/share/phpMyAdmin ist der Dokumentenstamm des virtuellen Hosts und /usr/share/phpMyAdmin/setup/lib/index.lib.php befindet sich in diesem absoluten Pfad und ist das Skript, das den Fehler ausgelöst hat. Ich kann nicht sehen, wo sein soll diese Funktion laden aber

EDIT2: einige mehr auf die verwiesen Frage gelesen, und ich habe installiert mbstring:

[[email protected] php]# yum list installed | grep php 
php.x86_64       5.3.3-48.el6_8    @updates 
php-bcmath.x86_64     5.3.3-48.el6_8    @updates 
php-cli.x86_64      5.3.3-48.el6_8    @updates 
php-common.x86_64     5.3.3-48.el6_8    @updates 
php-gd.x86_64      5.3.3-48.el6_8    @updates 
php-mbstring.x86_64    5.3.3-48.el6_8    @updates 
php-mcrypt.x86_64     5.3.3-4.el6     @epel 
php-mysql.x86_64     5.3.3-48.el6_8    @updates 
php-pdo.x86_64      5.3.3-48.el6_8    @updates 
php-php-gettext.noarch    1.0.11-12.el6    @epel 
php-process.x86_64     5.3.3-48.el6_8    @updates 
php-tcpdf.noarch     6.2.11-1.el6    @epel 
php-tcpdf-dejavu-sans-fonts.noarch 6.2.11-1.el6    @epel 
php-tidy.x86_64     5.3.3-48.el6_8    @updates 
php-xml.x86_64      5.3.3-48.el6_8    @updates 
phpMyAdmin.noarch     4.0.10.17-2.el6    @epel 
+0

überprüfen Sie dies http://StackOverflow.com/Questions/21243704/Call-to-undefined-Function-error-PHPMYADMIN –

+0

Call zu undefinierter Funktion 'crypt_random_string()'. Es ist nicht hier "/ usr/share/phpMyAdmin/setup/lib/index.lib.php", was "https: // COMMIT/phpMyAdmin/setup/lib/index.lib" wäre. PHP, wenn das ein relativer Pfad ist. Wenn 'setup' der gleiche Ordner ist, verwenden Sie' lib/index.lib.php' als relativen Pfad. – PHPglue

+0

@RobertRocha danke, aber ich habe diese Antwort früher gelesen und überprüft und die Erlaubnis sieht gut aus, und eine Datei wurde dort für die Sitzung geschrieben. Ich bearbeitete die Antwort, um die Berechtigungen zu zeigen – SnakeMan2058

Antwort

0

So habe ich einige weitere Graben in der Linien erfordern, und alles sah korrekt aus. Ich habe dann meine Sitzung in/var/lippe/php/sessions gelöscht und konnte die Übersichtsseite in/setup laden. Ich habe den Server neu erstellt, diesmal mit HTTP-Authentifizierung anstelle von Cookie (wie Zeile 333 in der index.php-Datei nur ausgeführt wird, wenn ein Server mit Cookie-Konfiguration konfiguriert ist) und es hat funktioniert!

Ich habe /usr/share/phpMyAdmin/setup/config.php Linie 15

von

require_once './lib/ConfigGenerator.class.php'; 

zu

require_once './setup/lib/ConfigGenerator.class.php'; 

richtig die Config-Datei herunterladen ändern , aber sobald ich das bekommen habe und in/etc/phpMyAdmin abgelegt habe, wurde der Server zur Anmeldung aufgefordert, und ich konnte mich verbinden. Löst nicht wirklich das Problem der fehlenden Funktion, aber genug gelöst für meinen Anwendungsfall