【问题标题】:Laravel isn't recognising mcrypt moduleLaravel 无法识别 mcrypt 模块
【发布时间】:2014-12-07 03:52:05
【问题描述】:

我在全新安装的 Xubuntu 14.04 上安装了 Laravel。据我所知,Mcrypt 已安装并运行,但 Laravel 仍然报告找不到它。

测试 Mcrypt

我已经安装了所有正确的软件包,并且该模块似乎已启用,我通过一些基本的诊断检查确定了这一点。

当我运行时,Mcrypt 在已安装的 php 模块列表中:

php -m

我在运行时从终端得到“加载”:

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 的原因?

【问题讨论】:

  • 通过命令行的 php 是否有机会通过 http 使用与 php 不同的配置?用<?php phpinfo()?> 运行一个网页并检查那里?
  • 也许这个问题中的一个答案可以帮助你。 stackoverflow.com/questions/16830405/…
  • 我必须手动将 mcrypt 添加到 apache2 php.ini,这可以解释为什么命令行和作曲家可以将 PHP 与 mcrypt 一起使用,但浏览器不能。干杯!

标签: php laravel mcrypt


【解决方案1】:

在这里找到答案:https://stackoverflow.com/a/26168868/3060414

修复浏览器错误(如果您在访问本地 laravel 索引页面时在浏览器中遇到 mcrypt 错误)

sudo nano /etc/php5/apache2/php.ini

在 php ini 的动态编译扩展部分下添加以下行

extension=mcrypt.so

重启 apache 服务器,清除 laravel 缓存,一切正常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 2021-11-01
    • 2016-07-08
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    相关资源
    最近更新 更多