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
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.
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
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
D'Ubuntu 13.10 au 14.04:
Sudo php5enmod mcrypt
Sudo service Apache2 restart
Travaille pour moi.
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
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
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
Essayez ce code:
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/Apache2/conf.d/20-mcrypt.ini
service Apache2 restart
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
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!