【问题标题】:ERROR: Script php artisan clear-compiled handling the post-install-cmd event returned with an error错误:脚本 php artisan clear-compiled 处理 post-install-cmd 事件返回错误
【发布时间】:2014-08-09 12:38:10
【问题描述】:

我正在尝试用这个创建一个 laravel 项目:

Nicoles-MacBook-Pro:htdocs nicolekajatt$ composer create-project laravel/laravel guia-telefonica

我得到了这个:

Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error



  [RuntimeException]  
  Error Output:       



create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [package] [directory] [version]

我已经尝试过这个教程来解决这个问题,但问题仍然存在 http://laravel.io/forum/02-08-2014-difficulty-installing-laravel-getting-error-mcrypt-php-extension-required?page=1

我能做什么?感谢您的帮助

【问题讨论】:

标签: laravel laravel-4


【解决方案1】:

以下步骤对我在 Ubuntu 上很有帮助:

  1. 安装 php5-mcrypt 使用:

    apt-get install php5-mcrypt

  2. 激活 mcrypt 扩展:

    php5enmod mcrypt

  3. 确保已加载:

    php -i | grep mcrypt

你应该看到mcrypt support => enabled如果它被激活了。

【讨论】:

  • 这也为我完成了这项工作!谢谢!
【解决方案2】:

如果您使用的是 Macintosh,请尝试以下操作:

cd ~ ; mkdir mcrypt ; cd mcrypt

Get libmcrypt 2.5.8 from Sourceforge.

Get the php code in a tar.gz or .bz2 format - (通过运行 php -v 查找您的 PHP 版本)

将您下载的这两个文件移动到您的工作目录中 - 在本例中为 mcrypt 并返回终端

cd ~/mcrypt

通过在 Finder 中双击这两个文件来展开它们。

删除压缩档案

将目录更改为 libmcrypt

cd libmcrypt-2.5.8

./configure

make

sudo make install

现在已配置好 libmcrypt 并安装了库,是时候制作 mcrypt 扩展了。

如果您看到任何 Autoconf 错误

cd ~/mcrypt
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xvfz autoconf-latest.tar.gz
cd autoconf-2.69/
./configure
make
sudo make install

编译 mcrypt php 扩展

cd ../php-5.4.17/ext/mcrypt/
/usr/bin/phpize
./configure
make
sudo make install

打开/etc/php.ini并在末尾添加以下行

extension=mcrypt.so

如果没有php.ini 文件,那么你需要从 php.ini.default 在同一位置创建一个,如下所示:

sudo cp /etc/php.ini.default /etc/php.ini

并允许写入能力

sudo chmod u+w  /etc/php.ini

然后在您喜欢的文本编辑器中添加上述行:

sudo nano /etc/php.ini

最后重启 Apache

sudo apachectl restart

现在你应该可以安装 Laravel 了。

来源:http://coolestguidesontheplanet.com/install-mcrypt-php-mac-osx-10-9-mavericks-development-server/

【讨论】:

  • 我完成了以上所有操作,但我仍然需要 Mcrypt PHP 扩展。你认为这是因为我正在运行 MAMP,它正在使用另一个 PHP 并且它在 localhost:8888 上运行吗?问的原因是因为当我去 localhost/mphpinfo.php - 它没有运行 php 解释器 - 我看到的只是 - 但是,如果我去 localhost:8888/mphpinfo.php,那么我可以看到 mcrypt 可用
  • 您可以在命令行中使用which php轻松找出正在从任何目录调用的PHP版本。
  • 通过执行以下操作,我能够在没有这些错误的情况下安装 laravel - 我在 ~/ 下的 mcrypt 目录中安装了 php 5.6.3 和 libmcrypt-2.5.8,在此之前我修复了通过在我的 php.ini 中取消注释 openssl 来发出 openssl 警告 底线是我不再遇到上面列出的问题,现在我正试图弄清楚如何让 localhost:8000 保持活动状态 - [请参阅我的帖子 | laravel.io/forum/…感谢您的帮助
【解决方案3】:

如果您使用的是 Macports,则可以: 通过http://rowdydesign.com/blog/2014/04/using-php-composer-under-mac-os-x-with-macports

在终端中运行

sudo ln -s /opt/local/bin/php54 /opt/local/bin/php
sudo ln -s /opt/local/bin/php-config54 /opt/local/bin/php-config
sudo ln -s /opt/local/bin/phpize54 /opt/local/bin/phpize

并将php54更改为您正在使用的任何版本的php,即php53,php55

【讨论】:

    【解决方案4】:

    在 OS X 上,您可以通过 Homebrew 安装 mcrypt 扩展,即

    $ brew install php56-mcrypt
    

    (您可能想brew search mcrypt 找到适合您的 PHP 版本的版本。)

    完成此操作后,composer 为我成功运行。

    【讨论】:

      【解决方案5】:

      使用此命令创建项目

      composer create-project --prefer-dist laravel/laravel blog "5.2.*"

      【讨论】:

        猜你喜欢
        • 2016-02-10
        • 2014-05-16
        • 2021-08-07
        • 2018-10-10
        • 2018-11-23
        • 2019-03-29
        • 1970-01-01
        • 2016-05-09
        • 2014-08-05
        相关资源
        最近更新 更多