PHP Artisan没有返回任何内容

5
今天我遇到了一个非常奇怪的情况,这是我从未遇到过的,并且无法在任何地方找到解决方法。
每当我在我的控制台中键入`php artisan`时,它不会返回任何内容。尝试多次克隆存储库(在其他机器上工作正常),并进行了新的`composer update``composer install`和Laravel 项目的设置。
在 SO 上发现了多个类似情况,在运行`find -L ./ -name '*.php' -print0 | xargs -0 -n 1 -P 4 php -l | grep "Errors parsing".`之后,我得到了以下日志:
“PHP致命错误:在./vendor/paragonie/random_compat/lib/random_bytes_openssl.php的第83行无法重新声明random_bytes()。” “错误分析。/vendor/paragonie/random_compat/lib/random_bytes_openssl.php” “PHP致命错误:不能在./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php的第148行重新声明random_bytes()。” “错误分析。/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php” “xargs: php:退出状态255;中止” “xargs: php:退出状态255;中止” “PHP致命错误:在./vendor/paragonie/random_compat/lib/random_int.php的第191行无法重新声明random_int()。” “错误分析。/vendor/paragonie/random_compat/lib/random_int.php” “PHP致命错误:在./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php的第76行无法重新声明random_bytes()。” “错误分析。/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php”
希望你们能帮我解决这个问题。
谢谢!
2个回答

1

我猜你遇到了与这个链接中 PHP 7 中 linting 问题相同的问题: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.*"
}

注意:对于未来的读者,我相信如果你不想升级,就不必更改Laravel版本。但我认为你必须更改所有其他包的版本才能使其正常工作。

1
非常感谢。在检查了我的composer.json文件之后,Artisan命令又可以正常工作了。谢谢! - Jaldre

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接