加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

安装Laravel时出错:需要Mcrypt PHP扩展

发布时间:2020-12-14 19:34:39 所属栏目:大数据 来源:网络整理
导读:我知道在SO上有很多关于这个的问题,但没有一个能解决我的问题.我已经检查了他们提到的一切似乎表明mcrypt没问题,除非安装Laravel.显然我错过了一些东西. 当按照指示安装Laravel时(作曲家创建项目laravel / laravel myproj –prefer-dist)我在安装结束时看到
我知道在SO上有很多关于这个的问题,但没有一个能解决我的问题.我已经检查了他们提到的一切似乎表明mcrypt没问题,除非安装Laravel.显然我错过了一些东西.

当按照指示安装Laravel时(作曲家创建项目laravel / laravel myproj –prefer-dist)我在安装结束时看到错误“需要Mcrypt PHP扩展”.

据我所知,mcrypt已安装并启用.

Composer使用/usr/bin/env php

$which composer      ?
/usr/local/bin/composer

$cat /usr/local/bin/composer
#!/usr/bin/env bash
/usr/bin/env php -d allow_url_fopen=On -d detect_unicode=Off /usr/local/Cellar/composer/1.0.0-alpha8/libexec/composer.phar $*%

我的PATH上的php是来自MAMP的5.5.10

$php --version
PHP 5.5.10 (cli) (built: Apr 10 2014 17:49:22)

$which php
/Applications/MAMP/bin/php/php5.5.10/bin/php

Mcrypt已安装并启用

$php -m | grep mcrypt
mcrypt

$php --info | grep mcrypt                  
mcrypt
mcrypt support => enabled
mcrypt_filter support => enabled
mcrypt.algorithms_dir => no value => no value
mcrypt.modes_dir => no value => no value

$php --ini                                 
Configuration File (php.ini) Path: /Applications/MAMP/bin/php/php5.5.10/conf
Loaded Configuration File:         /Applications/MAMP/bin/php/php5.5.10/conf/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

$grep mcrypt /Applications/MAMP/bin/php/php5.5.10/conf/php.ini     ?
extension=mcrypt.so

我也可以通过MAMP在phpinfo页面中看到启用mcrypt支持.

我错过了什么?

编辑:我在.bash_profile中导出PATH =“/ Applications / MAMP / bin / php / php5.5.10 / bin:$PATH”并且可以用echo $PATH和哪个php确认

更新:一个线索.

如果我编辑/usr/local/bin / composer是:

#!/usr/bin/env bash
echo $PATH
/usr/bin/env php --ini

并运行作曲家

/usr/bin:/bin:/usr/sbin:/sbin
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         (none)
Scan for additional .ini files in: /Library/Server/Web/Config/php
Additional .ini files parsed:      (none)

为什么PATH不同?

解决方法

让Laravel在Apache上工作

PHP版本:PHP 5.5.9

Ubuntu版本:14.04

经过大量的反复试验和搜索,这就是我发现的.我在Windows上有一个工作的laravel项目,我将它复制到ubuntu服务器并开始得到mcrypt错误.

让工匠指挥工作

我做了很多试验和错误所以每次我运行php5enmod命令之前,我有错误消息.但在全新安装时没有错误消息.在这一步之后我得到了工匠指挥工作

sudo rm /etc/php5/mods-available/mcrypt.ini
sudo apt-get purge php5-mcrypt
sudo apt-get install mcrypt
sudo apt-get install php5-mcrypt
sudo php5enmod mcrypt

修复浏览器错误

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

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

extension=mcrypt.so

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读