web-dev-qa-db-fra.com

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

J'ai mis à jour d'UBUNTU 13.04 à 13.10 mais je ne peux pas travailler avec PHP pages ou phpmyadmin. J'ai essayé cette méthode pour installer lamp sur Ubuntu Sudo apt-get install lamp-server^ phpmyadmin et j'ai correctement configuré toute la configuration après l'installation. J'ai ajouté cette ligne Include /etc/phpmyadmin/Apache.conf à /etc/Apache2/Apache2.conf, puis j'ai redémarré Apache2.

Maintenant, j'ai deux problèmes:

  1. Dans phpmyadmin au bas de la page se trouve cette erreur: The mcrypt extension is missing. Please check your PHP configuration J'ai vérifié et mcrypt était dedans, mais dans phpmyadmin cela me donne l'erreur de manquer.

  2. L'autre problème concerne les pages PHP. Il semble qu'il n'y ait pas de PHP et tout est html, car de nombreuses lignes PHP sont imprimées dans la zone de texte comme suit: <? echo $row['details']; ?> Can anybody dites-moi ce que je dois faire ?

16
Mohammad_Hosseini

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 eu l'info de ici .

J'avais le même bogue, j'ai fait un cp au lieu d'un mv pour en être sûr, mais le problème a été résolu.

Si PHP ne fonctionne pas, si phpmyadmin fonctionne (même avec l'erreur mcrypt), cela signifie que PHP fonctionne (car phpmyadmin utilise PHP). Mais dans votre exemple, <? echo $row['details']; ?>, remplacez <? par <?php et essayez à nouveau?

49
Whatts

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

Editez 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
3
moz667

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

L'intuition de Whatts d'utiliser cpau lieu de mven était une bonne. Par exemple, si vous utilisez le framework Laravel 4, la CLI artisanale détectera mcrypt.ini dans /etc/php5/mods-available/, mais le framework lui-même semble le rechercher dans /etc/php5/conf.d/. Vous devez en avoir 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
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 le truc du 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
1
infernet

En terminal (Ctrl+Alt+T)

Fichier 1.open php.ini:

/etc/php5/Apache2$Sudo nano php.ini

2. remplacer Off à On:

short_open_tag = On

3.restart Apache:

Sudo service Apache2 restart
0
Din

En fait, le bon endroit pour le fichier mcrypt.ini se trouve dans le répertoire mods-available et non dans le conf.d. Donc, remplacer et activer le fichier de configuration mcrypt , résout ce problème.

0
Navid