PHP工匠没有返回任何东西



今天我遇到了一个非常奇怪的情况,我从来没有遇到过,找不到真正的解决办法。

当我在控制台中输入php artisan时,它没有返回任何内容。我试过多次克隆repo(它在其他机器上运行良好),并为laravel项目做了一个新的composer update, composer install和设置。

在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中重新声明random_bytes(/vendor/paragonie/random_compat/lib/random_bytes_openssl.phpPHP致命错误:无法在。/vendor/paragonie/random_compat/lib/random_bytes_dev_random . PHP中重新声明random_bytes()/vendor/paragonie/random_compat/lib/random_bytes_dev_random .phpXargs: php:退出状态255;流产Xargs: php:退出状态255;流产PHP致命错误:无法重新声明。/vendor/paragonie/random_compat/lib/random_int. PHP中的191行random_int()/vendor/paragonie/random_compat/lib/random_int.phpPHP致命错误:无法在。/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php的第76行重新声明random_bytes()/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php

希望你们能帮助我。

谢谢!

我认为你的问题是相同的人谁有在PHP 7在这个链接: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,但我相信你必须更改所有其余的包版本才能使其工作。

random_bytes()random_int()是在PHP 7中定义的,所以当它们在Paragonie库中重新声明时出现错误。如果你在这个Laravel项目中使用PHP 7,你应该把Paragonie从依赖项中移除。

相关内容

  • 没有找到相关文章

最新更新