PHP ne fonctionne pas bien sur Ubuntu 13.10 et mcrypt est manquant dans phpmyadmin

15

J'ai mis à jour UBUNTU 13.04 vers 13.10 mais je ne peux pas travailler avec des pages PHP ou phpmyadmin. J'ai essayé cette façon d'installer la lampe sur Ubuntu sudo apt-get install lamp-server^ phpmyadmin et je l' ai fait toute la configuration correctement après l' installation , j'ai ajouté cette ligne Include /etc/phpmyadmin/apache.confà /etc/apache2/apache2.confje remis en marche apache2

Maintenant, j'ai deux problèmes:

  1. En phpmyadmin en bas de la page se trouve cette erreur: The mcrypt extension is missing. Please check your PHP configuration j'ai vérifié et j'étais mcryptdedans, mais en phpmyadmin cela me donne une erreur de manquant.

  2. L'autre problème est sur les pages PHP, il semble qu'il n'y ait pas de PHP et tout est html parce que beaucoup de lignes PHP sont imprimées dans des zones de texte comme: <? echo $row['details']; ?> Quelqu'un peut-il me dire que dois-je faire?

Mohammad_Hosseini
la source

Réponses:

48

Essayez ceci pour votre problème mcrypt:

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

C'est un bug avec l'emplacement du fichier mcrypt.ini, j'ai obtenu les informations d' ici .

J'ai eu le même bug, j'ai fait un cpau lieu d'un mvpour être sûr mais cela a résolu le problème.

Pour PHP ne fonctionne pas, si vous faites fonctionner phpmyadmin (même avec l'erreur mcrypt), cela signifie que PHP fonctionne (car phpmyadmin utilise PHP). Mais dans votre exemple le <? echo $row['details']; ?>changement <?de <?phpet essayer à nouveau?

Whatts
la source
1
merci, votre réponse a résolu tous mes problèmes. <? ?> ne fonctionne plus? dans la nouvelle version de php? ça doit être <? php?> pour fonctionner?
Mohammad_Hosseini
Je viens de le googler et il semble que les balises courtes ne soient plus actives par défaut. Vous pouvez le
réactiver
merci d'avance, mais il y a toujours un petit problème, dans certaines de mes pages php, je ne sais pas quel est le problème, lorsque j'essaie de charger ces pages, une page blanche seulement s'affiche, j'ai essayé d'activer rapport d'erreurs pour php en haut de la page mais toujours rien ne s'affiche sur la page. ce n'est peut-être pas un bon endroit pour poser cette question, mais depuis que j'ai soulevé ce problème, je l'ai posé à nouveau. si vous avez besoin de moi pour mettre certains codes ici, dites-le moi, merci.
Mohammad_Hosseini
Une page complètement blanche signifie généralement un crochet ou un point-virgule manquant. Ou appeler une fonction qui n'existe pas. Si vous ne disposez pas d'un environnement de développement logiciel qui peut vous aider, essayez de commenter des parties de votre code un bloc à la fois (commencez les commentaires avec / * et terminez avec * /, tout le reste est commenté). Je commence généralement par environ la moitié du code commenté, puis j'essaie de l'afficher, puis de toujours réduire l'endroit où se trouve l'erreur).
Whatts
3

Pour le deuxième problème, de nombreuses lignes PHP sont imprimées dans des zones de texte comme: echo $row['details'];

Modifiez votre fichier de configuration php.ini (pour apache):

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

et changer:

short_open_tag = Off

à:

short_open_tag = On
moz667
la source
guide génial, merci aussi résolu le problème des pages blanches
Mohammad_Hosseini
1

Vérifiez tous vos scripts sous /etc/php5/conf.d/ car ils auront cessé de fonctionner. Dans mon cas, imap a également cessé de fonctionner.

Résolu le problème avec l'astuce de lien symbolique (en tant que root):

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
la source
votre chemin ne fonctionne pas, cela me donne une erreur sans existence ni imap ni mcrypt, mais ce que @whatts a dit a fonctionné pour moi.
Mohammad_Hosseini
1

(J'aurais posté cela comme un commentaire ci-dessus mais je n'ai pas les privilèges.)

L'intuition de Whatts à utiliser cpau lieu de mvétait bonne. Par exemple, si vous utilisez le cadre Laravel 4, le CLI artisan détectera mcrypt.inidans /etc/php5/mods-available/, mais le cadre lui - même semble chercher dans /etc/php5/conf.d/. Vous en avez besoin d'une copie aux deux endroits pour que tout fonctionne:

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

Dans le terminal ( Ctrl+ Alt+ T)

1. ouvrez le fichier php.ini:

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

2. remplacer Off par On:

short_open_tag = On

3. redémarrer apache:

sudo service apache2 restart
Vacarme
la source
0

En fait, le bon endroit pour le fichier mcrypt.ini se trouve dans le mods-availablerépertoire et non dans conf.d. Ainsi, le remplacement et l'activation du fichier de configuration mcrypt résout ce problème.

Navid
la source
-1

J'ai également eu un problème avec mcryptaprès l'installation d'Ubuntu 14.04. Suivre ce lien devrait aider. www.php.net

  1. Ouvrez votre fichier php.ini sudo gedit /etc/php5/apache2/php.ini
  2. Redémarrez votre apache2 sudo service apache2 restart

J'espère que cela t'aides.

Daroath
la source