0

我开始在 Mac 上使用 laravel 并且正在使用 MAMP。我在 php 中使用带有 laravel 的 `artisan' 命令。

php artisan migrate:make create_users_table --table=users --create

但它给了我这个错误

php artisan migrate:make create_users_table --table=users --create
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so' - dlopen(/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so, 9): image not found in Unknown on line 0
Laravel requires the Mcrypt PHP extension.

我已经为 PHP 安装了 mcrypt 扩展。

brew install php53-mcrypt

这给了我一条消息,说它已经安装:php53-mcrypt-5.3.26 already installed

4

1 回答 1

2

PHP 在命令行中运行时与通过 Web 服务器运行时不同,结果证明这是一个非常 常见的 问题(请注意,这是三个单独的链接以及可能的解决方案:D)

关键是:

  1. 确保正确的 PHP 二进制文件(MAMP 使用的那个)在你的 PATH 中
  2. (不太可能)检查您的 CLI 运行的 php.ini 和加载的扩展是否与您的网络服务器(apache)运行的 PHP 不同(它们可能不同)。

最后,请考虑通过使用Vagrant或其他VM 提供程序来节省您的时间和一些压力,这使您能够在您的计算机上运行“真正的”网络服务器,而不会破坏您的 Mac OS 安装!

于 2013-09-20T12:22:44.590 回答