php artisan 没有返回任何东西

php artisan not returning anything

今天我遇到了一个非常奇怪的情况,这是我以前从未遇到过的,而且在任何地方都找不到解决办法。

每当我在我的控制台中输入 php artisan 时,它不会 return 任何东西。尝试多次克隆 repo(在其他机器上工作正常)并为 laravel 项目做了一个新的 composer updatecomposer install 和 set-up。

在SO上发现了多个这样的案例,在运行find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing".

之后

我得到了这个日志:

PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php on line 83 Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php on line 148 Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php xargs: php: exited with status 255; aborting xargs: php: exited with status 255; aborting PHP Fatal error: Cannot redeclare random_int() in ./vendor/paragonie/random_compat/lib/random_int.php on line 191 Errors parsing ./vendor/paragonie/random_compat/lib/random_int.php PHP Fatal error: Cannot redeclare random_bytes() in ./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php on line 76 Errors parsing ./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php

希望大家能帮帮我。

谢谢!

random_bytes()random_int() 在 PHP 7 中定义,因此当它们在 Paragonie 库中重新声明时会出现错误。如果您在此 Laravel 项目中使用 PHP 7,则应删除 Paragonie 作为依赖项。

我认为您的问题与 PHP 7 中出现 linting 问题的人相同 link: https://github.com/paragonie/random_compat/issues/115 .

这很奇怪,因为对我来说它工作正常,所以我必须假设你没有使用最新的 Laravel 版本或者你的 composer.json 文件不正确,因为你所有的包依赖需要 paragonie/random_compat 的必须指向最新的 paragonie/random_compat 包,即 2.0.4 .

检查 composer.json 上的所有 Laravel 默认软件包版本号,确保它需要正确的所需版本,如下所示:

"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.3.*"
},
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.0",
    "symfony/css-selector": "3.1.*",
    "symfony/dom-crawler": "3.1.*"
}

注意:对于以后的reader,我相信如果你不想升级,你就不必更改Laravel版本一,但我相信你确实必须更改所有其他包版本以使其工作。