PHP funktioniert unter Ubuntu 13.10 nicht gut und in phpmyadmin fehlt mcrypt

15

Ich habe ein Upgrade von UBUNTU 13.04 auf 13.10 durchgeführt, kann aber nicht mit PHP-Seiten oder phpmyadmin arbeiten. Ich habe auf diese Weise versucht, lamp unter Ubuntu zu installieren, sudo apt-get install lamp-server^ phpmyadmin und nach der Installation habe ich die gesamte Konfiguration korrekt durchgeführt. Ich habe diese Zeile hinzugefügt Include /etc/phpmyadmin/apache.confund /etc/apache2/apache2.confdann Apache2 neu gestartet

Jetzt habe ich zwei Probleme:

  1. In phpmyadmin am Ende der Seite ist dieser Fehler: The mcrypt extension is missing. Please check your PHP configuration Ich habe es überprüft und mcryptwar darin, aber in phpmyadmin gibt es mir einen Fehler des Fehlens.

  2. Das andere Problem ist, dass es auf PHP-Seiten anscheinend kein PHP gibt und alles in HTML geschrieben ist, da viele PHP-Zeilen in Textfeldern gedruckt sind: <? echo $row['details']; ?> Kann mir jemand sagen, was ich tun soll?

Mohammad_Hosseini
quelle

Antworten:

48

Versuchen Sie dies für Ihr Mcrypt-Problem:

mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart

Es ist ein Fehler mit dem Speicherort der mcrypt.ini-Datei. Ich habe die Informationen von hier erhalten .

Ich hatte den gleichen Fehler, ich habe einen cpanstelle von einem gemacht mv, um sicher zu sein, aber es hat das Problem gelöst.

Wenn PHP nicht funktioniert und Sie phpmyadmin zum Laufen bringen (auch mit dem mcrypt-Fehler), bedeutet dies, dass PHP funktioniert (weil phpmyadmin PHP verwendet). Aber in Ihrem Beispiel <? echo $row['details']; ?>ändern <?zu <?phpund versuchen Sie es erneut?

Whatts
quelle
1
Vielen Dank, Ihre Antwort hat alle meine Probleme behoben. <? ?> funktioniert nicht mehr? in der neueren version von php? es muss <? php?> sein, um zu arbeiten?
Mohammad_Hosseini
Ich habe es nur gegoogelt und es scheint, dass kurze Tags nicht mehr standardmäßig aktiv sind. Sie können es wieder einschalten, aber es wird
empfohlen
Vielen Dank im Voraus, aber es gibt immer noch ein kleines Problem. Auf einigen meiner PHP-Seiten weiß ich nicht, woran es liegt. Wenn ich versuche, diese Seiten zu laden, wird nur eine weiße, leere Seite angezeigt. Ich habe versucht, sie zu aktivieren Fehlerberichterstattung für PHP oben auf der Seite, aber immer noch nichts auf der Seite. Dies ist möglicherweise kein guter Ort, um diese Frage zu stellen, aber da ich dieses Problem angesprochen habe, habe ich erneut gefragt. Wenn ich hier einige Codes einfügen soll, sag es mir, danke.
Mohammad_Hosseini
Eine vollständig weiße Seite bedeutet normalerweise eine fehlende Klammer oder ein fehlendes Semikolon. Oder Aufrufen einer Funktion, die nicht existiert. Wenn Sie keine Software-Entwicklungsumgebung haben, die Ihnen helfen kann, versuchen Sie, Teile Ihres Codes blockweise auszukommentieren (beginnen Sie die Kommentare mit / * und enden Sie mit * /, alles dazwischen wird auskommentiert). Normalerweise beginne ich mit etwa der Hälfte des auskommentierten Codes und versuche dann anzuzeigen, wobei ich mich immer darauf beschränke, wo der Fehler liegt.
Whatts
3

Für das zweite Problem werden viele PHP-Zeilen in Textfeldern wie folgt gedruckt: echo $row['details'];

Bearbeiten Sie Ihre php.ini-Konfigurationsdatei (für Apache):

sudo nano -w /etc/php5/apache2/php.ini

und ändern:

short_open_tag = Off

zu:

short_open_tag = On
moz667
quelle
Super Guide, danke auch White-Page-Problem gelöst
Mohammad_Hosseini
1

Überprüfen Sie alle Ihre Skripte unter /etc/php5/conf.d/, da sie möglicherweise nicht mehr funktionieren. In meinem Fall hat imap auch aufgehört zu arbeiten.

Das Problem mit dem symbolischen Link-Trick (als root) wurde behoben:

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/mcrypt.ini
php5enmod mcrypt
ln -s /etc/php5/conf.d/imap.ini /etc/php5/mods-available/imap.ini
php5enmod imap
service apache2 restart
infernet
quelle
Dein Weg funktioniert nicht, es gibt mir einen Fehler, dass es weder imap noch mcrypt gibt, aber was @whatts gesagt hat, hat bei mir funktioniert.
Mohammad_Hosseini
1

(Ich hätte dies oben als Kommentar gepostet, habe aber nicht die Berechtigungen.)

Whatts' Intuition zu verwenden , cpanstatt mvwar gut. Wenn Sie beispielsweise das Laravel 4-Framework verwenden, erkennt die Artisan-CLI dies mcrypt.iniin /etc/php5/mods-available/, aber das Framework selbst scheint danach zu suchen /etc/php5/conf.d/. Sie benötigen eine Kopie an beiden Standorten, damit alles funktioniert:

cp -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
sudo php5enmod mcrypt
sudo service apache2 restart
Hugh Grigg 远 葛 修
quelle
0

Im Terminal ( Ctrl+ Alt+ T)

1.Öffne die Datei php.ini:

/etc/php5/apache2$sudo nano php.ini

2.Aus zu Ein wechseln:

short_open_tag = On

3. Apache neu starten:

sudo service apache2 restart
Lärm
quelle
0

Eigentlich ist der richtige Ort für die mcrypt.ini- Datei im mods-availableVerzeichnis nicht drinconf.d . Das Ersetzen und Aktivieren der mcrypt- Konfigurationsdatei löst dieses Problem.

Navid
quelle
-1

Ich hatte auch ein Problem mit mcryptnach der Installation von Ubuntu 14.04. Das Folgen dieses Links sollte helfen. www.php.net

  1. Öffnen Sie Ihre php.ini-Datei sudo gedit /etc/php5/apache2/php.ini
  2. Starten Sie Ihren Apache2 neu sudo service apache2 restart

Hoffe das hilft.

Daroath
quelle