Laravel 中需要 Mcrypt PHP 扩展 [重复]
Posted
技术标签:
【中文标题】Laravel 中需要 Mcrypt PHP 扩展 [重复]【英文标题】:Mcrypt PHP extension required in Laravel [duplicate] 【发布时间】:2014-06-27 01:44:49 【问题描述】:我正在尝试在 Linux Ubuntu 上安装 Laravel。我正在运行 Ubuntu 14.10。
一切正常。但是现在在访问 localhost 时,我没有得到假定的页面,而是得到了以下消息: " 需要 Mcrypt php 扩展 " 我正在从终端复制一些信息以帮助查明问题。
which php
/usr/bin/php
php --ini
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-mcrypt.ini,
/etc/php5/cli/conf.d/20-mysql.ini,
/etc/php5/cli/conf.d/20-mysqli.ini,
/etc/php5/cli/conf.d/20-pdo_mysql.ini,
/etc/php5/cli/conf.d/20-readline.ini
php -v
PHP 5.5.9-1ubuntu4 (cli) (built: Apr 9 2014 17:11:57)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
php -m
mcrypt
命令 php -m 表示我有 mcrypt 模块,但如果我加载包含
的页面<?php phpinfo(); ?>
我看不到任何 mcrypt 模块。我只在“模块作者”上看到 mcrypt。
我不知道如何让 Laravel 工作......
任何帮助将不胜感激。
最好的问候
【问题讨论】:
那是命令行的ini文件,你web访问的ini文件呢?它们可以不同。 请记住,命令行 PHP 运行的解释器与用于 Web 服务器的解释器不同。 ! @MarkBaker 如何检查网页访问中使用的ini文件? @belyid,在网站上的一个文件中执行phpinfo(),而不是命令行,看看加载的是哪个ini文件。 @MarkBaker 我在 phpinfo() 页面上看不到模块 mcrypt。 【参考方案1】:您需要检查正在加载哪个 ini 文件。 PHP CLI 和 PHP 服务器有时可以运行不同的配置文件。
创建一个页面:
<?php echo phpinfo(); ?>
然后查看正在加载的ini文件。
【讨论】:
【参考方案2】:安装 php5-mcrypt 不会自动启用该模块。也许您必须手动启用它:
安装模块
apt-get install php5-mcrypt
创建辅助符号链接并启用模块
cd /etc/php5/mods-available
ln -sf ../conf.d/mcrypt.ini .
php5enmod mcrypt
然后重新加载 apache
service apache2 reload
希望对你有帮助!
【讨论】:
我已经这样做了,但没有成功。以上是关于Laravel 中需要 Mcrypt PHP 扩展 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 4.2 + Laravel Valet + PHP 7 = 需要 Mcrypt PHP 扩展
PHP Laravel Mcrypt PHP扩展需要[重复]
如何解决作曲家问题 - laravel/framework [..] 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt