【发布时间】:2013-06-05 04:48:22
【问题描述】:
我正在尝试将 phpunit 与 Laravel 4 一起使用,但我遇到了 Mcrypt 问题。
在 vendor/laravel/framework/src/Illuminate/Foundation/start.php 第 29 行,Laravel 检查是否启用了 mcrypt。
if ( ! extension_loaded('mcrypt'))
{
die('Laravel requires the Mcrypt PHP extension.'.PHP_EOL);
exit(1);
}
当我在 CLI phpunit 时,它说:
Laravel requires the Mcrypt PHP extension.
这是不可能的,因为以下命令显示一切正常。
$ php -v
PHP 5.4.4 (cli)
$ php --ini
Loaded Configuration File: /Applications/MAMP/bin/php/php5.4.4/conf/php.ini
$ php -i | grep "mcrypt support"
mcrypt support => enabled
但是...当我在 vendor/laravel/framework/src/Illuminate/Foundation/start.php 添加以下代码以查看使用的 PHP 版本时,CLI 显示 5.3.15
die(phpversion().PHP_EOL);
我不知道这怎么可能。
添加以上代码后; php artisan 显示 5.4.4,但 phpunit 显示 5.3.15。这几乎是不可能的,因为两者都使用vendor/laravel/framework/src/Illuminate/Foundation/start.php 来检查是否启用了 Mcrypt。
我不确定,但 Laravel 在 testing 环境中会改变什么吗?
【问题讨论】:
标签: php laravel command-line-interface mcrypt