Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel 4 Mcrypt在CLI_Php_Laravel_Command Line Interface_Mcrypt - Fatal编程技术网

Php Laravel 4 Mcrypt在CLI

Php Laravel 4 Mcrypt在CLI,php,laravel,command-line-interface,mcrypt,Php,Laravel,Command Line Interface,Mcrypt,我正试图将phpunit用于Laravel4,但我遇到了Mcrypt问题 在vendor/laravel/framework/src/illumb/Foundation/start.php第29行,laravel检查是否启用了mcrypt if ( ! extension_loaded('mcrypt')) { die('Laravel requires the Mcrypt PHP extension.'.PHP_EOL); exit(1); } 当Iphpunitat C

我正试图将
phpunit
用于Laravel4,但我遇到了Mcrypt问题

vendor/laravel/framework/src/illumb/Foundation/start.php
第29行,laravel检查是否启用了
mcrypt

if ( ! extension_loaded('mcrypt'))
{
    die('Laravel requires the Mcrypt PHP extension.'.PHP_EOL);

    exit(1);
}
当I
phpunit
at 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/illumb/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/illumb/Foundation/start.php
检查Mcrypt是否已启用


我不确定,但是当Laravel在
测试环境中时,它会改变什么吗?

我的mac上有两个版本的php(一个是现成的,另一个是macport的)出现了同样的问题。 因此,在使用命令行时,调用的php版本取决于bin路径顺序(echo$path)

如果您查看hashbang:

  • 工匠从#开始/usr/bin/env-php
  • phpunit从#开始/usr/bin/php

    $/usr/bin/env php -v
    PHP 5.3.25 (cli) (built: Jun  5 2013 12:14:23)
    
    $/usr/bin/php -v
    PHP 5.3.15 with Suhosin-Patch (cli) (built: Aug 28 2012 18:19:13)
    

希望能有所帮助,

我的mac电脑上有两个版本的php(一个是现成的,另一个是macport)。 因此,在使用命令行时,调用的php版本取决于bin路径顺序(echo$path)

如果您查看hashbang:

  • 工匠从#开始/usr/bin/env-php
  • phpunit从#开始/usr/bin/php

    $/usr/bin/env php -v
    PHP 5.3.25 (cli) (built: Jun  5 2013 12:14:23)
    
    $/usr/bin/php -v
    PHP 5.3.15 with Suhosin-Patch (cli) (built: Aug 28 2012 18:19:13)
    

希望有帮助,

我的想法是一样的,但是
vendor/phpunit/phpunit/phpunit.php
vendor/bin/phpunit
都以
开头/usr/bin/env php
,就像artisan一样。我通过Composer安装了PHPUnit,这有什么不同吗?它成功了。不久前,我通过Pear安装了PHPUnit,终端仍在使用该PHPUnit。我更新了我的
~/.bash\u配置文件
,现在可以使用了。非常感谢。vendor/phpunit/phpunit/phpunit.php和vendor/bin/phpunit可能不在您的路径中,但/usr/bin/phpunit在您的路径中。;)我的想法是一样的,但是
vendor/phpunit/phpunit/phpunit.php
vendor/bin/phpunit
都以
开头/usr/bin/env php
,就像artisan一样。我通过Composer安装了PHPUnit,这有什么不同吗?它成功了。不久前,我通过Pear安装了PHPUnit,终端仍在使用该PHPUnit。我更新了我的
~/.bash\u配置文件
,现在可以使用了。非常感谢。vendor/phpunit/phpunit/phpunit.php和vendor/bin/phpunit可能不在您的路径中,但/usr/bin/phpunit在您的路径中。;)