web-dev-qa-db-fra.com

mCrypt non présent après la mise à niveau Ubuntu vers 13.10

Après avoir mis à niveau mon système d'Ubuntu 13.04 à 13.10, plusieurs problèmes sont survenus avec les configurations Apache, mysql et php.

J'ai résolu la plupart d'entre eux mais je n'arrive pas à faire fonctionner la bibliothèque mCrypt. Le paquet est installé, je n'ai donc pas besoin d'apt-l'obtenir. Le serveur fonctionne et tout semble aller bien, mais quand j'essaie de lancer php artisan serve avec Laravel 4, je reçois un message indiquant que mCrypt est requis.

J'ai fait php --ri mcrypt et la sortie était Extension 'mcrypt' not present. J'ai essayé de mettre extension=mcrypt.so à /etc/php5/Apache2/php.ini mais ça n'a pas marché.

Des idées?

Sortie de dpkg --get-selections | grep php5

libapache2-mod-php5         install
php5                        install
php5-cli                    install
php5-common                 install
php5-Gd                     install
php5-json                   install
php5-mcrypt                 install
php5-mysql                  install
php5-readline               install
92
Vuk Stanković

Je pense avoir trouvé la solution sur launchpad.net .

Alors:

Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
Sudo php5enmod mcrypt
Sudo service Apache2 restart

Cela a fonctionné pour moi. J'espère que cela sera utile pour d'autres personnes aussi.

273
Vuk Stanković

J'ai eu ce problème avec Ubuntu 14.04 et j'ai fait ce qui suit pour le résoudre:

Sudo apt-get install php5-mcrypt
Sudo php5enmod mcrypt

Sudo service Apache2 restart
27
eaykin

J'ai aussi ce problème avec Ubuntu 14.04 après l'installation.

Tout d'abord activer le mcrypt

Sudo gedit /etc/php5/Apache2/php.ini

Ajouter cette commande dans n'importe quelle ligne

extension=mcrypt.so

Créer un dossier conf.d dans/etc/php5

Sudo mkdir conf.d

Et dans ce dossier, créez le fichier mcrypt.ini

Sudo gedit mcrypt.ini 

Ajoutez ensuite cette commande à ce fichier

extension=mcrypt.so

Puis créez un lien vers un fichier

Sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available

Activer le module mcrypt

Sudo php5enmod mcrypt

Redémarrer Apache

Sudo service Apache2 restart
14
Daroath

D'Ubuntu 13.10 au 14.04:

Sudo php5enmod mcrypt
Sudo service Apache2 restart

Travaille pour moi.

11
Aleftos

J'ai également eu ce problème avec Ubuntu 14.04 et Nginx, mais le conseil pour moi était de redémarrer le service FPM. Je l'ai donc fait:

Installer la bibliothèque

apt-get install php5-mcrypt

Trouver le chemin

updatedb && localisez mcrypt.so

Définissez le chemin de mcrypt.so dans le fichier mcrypt.ini situé dans /etc/php5/mods-available/mcrypt.ini

extension =/usr/lib/php5/20121212/mcrypt.so

Et puis redémarrez le service FPM

service php5-fpm redémarrer

3
Deric Lima

Une autre solution si le paquet est déjà installé:

Sudo aptitude reinstall php5-mycript

Cela a fonctionné pour moi après avoir fait la mise à niveau

0
rreimi

Parfois, ce "problème" se produit car vous avez entré une commande artisan sur votre machine locale et non sur votre machine virtuelle. Si vous utilisez Homestead, mcrypt est déjà installé. Considérez cela comme un rappel à Homestead ssh

0
Chukky Nze

Essayez ce code:

ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/20-mcrypt.ini
service Apache2 restart
0
Indrajeet Singh

vient de trouver sur php.net

Notez que pour Ubuntu, installer simplement php5-mcrypt ne permettait pas à mcrypt de fonctionner. Vous devez exécuter les commandes suivantes en tant que root pour l'activer:

apt-get install php5-mcrypt
mv -i /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
php5enmod mcrypt
service Apache2 restart

http://php.net/manual/en/mcrypt.installation.php#114609

0
SharkWeb

J'ai eu le même problème avec PHP 5.5.14 fonctionnant sous Mac OS X Yosemite. J'essayais d'installer Laravel 5.0. Et lorsque j'ai essayé de créer un nouveau projet j'ai eu une erreur comme ci-dessous (même quand j'ai essayé de démarrer le laravel serveur avec serveur php artisan)

Alejandros-MacBook-Pro:Documents Lexynux$ laravel new blog
Crafting application...
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Generating optimized class loader
Compiling common classes
Compiling views
PHP Notice:  Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' in /Library/WebServer/Documents/blog/config/app.php on line 83
Application key [CCOPocoMjnJTx4AFXk64wqyTKyo3BlHq] set successfully.
Application ready! Build something amazing.
Alejandros-MacBook-Pro:Documents Lexynux$ 

J'ai donc ajouté la ligne ci-dessous à la fin de mon fichier php.ini avec l'éditeur nano:

extension=mcrypt.so
Sudo nano /etc/php.ini

Enfin, redémarrez le terminal et redémarrez le serveur d’application laravel avec

php artisan serve

Et ça marche bien!

0
Alex Ventura