我正在尝试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);
}
当我phpunit在 CLI 时,它说;
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环境中会改变一些东西吗?