我在Xubuntu 14.04的新安装上安装了Laravel。据我所知,Mcrypt已经安装并运行,但Laravel仍然报告它找不到它。
测试Mcrypt
我安装了所有正确的软件包,模块似乎已经启用,我通过进行一些基本的诊断检查来确定这一点。
当我运行时,Mcrypt在已安装的php模块列表中:
php -m
当我运行时,我从终端得到"Loaded":
php -r 'echo PHP_EOL . (extension_loaded("mcrypt") ? "loaded" : "not loaded") . PHP_EOL . PHP_EOL;'
这是php -i | grep mcrypt
:的输出
/etc/php5/cli/conf.d/20-mcrypt.ini,
Registered Stream Filters => zlib.*, bzip2.*, convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, dechunk, mcrypt.*, mdecrypt.*
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value
PWD => /var/www/html/mcrypttest
_SERVER["PWD"] => /var/www/html/mcrypttest
安装Laravel
我使用了Laravel的新安装来测试这一点,运行:
git clone https://github.com/laravel/laravel mcrypttest
cd mcrypttest/
composer install
有人能建议如何诊断为什么Laravel无法访问mcrypt吗?
答案如下:https://stackoverflow.com/a/26168868/3060414
修复浏览器错误(如果访问本地laravel索引页时浏览器中出现mcrypt错误)
sudo nano /etc/php5/apache2/php.ini
在php-ini-的动态编译扩展部分下添加以下行
extension=mcrypt.so
重新启动apache服务器,清除laravel缓存和所有工作的