Jal*_*dre 5 php laravel composer-php php-7 laravel-artisan
今天我遇到了一个我以前从未遇到过的非常奇怪的情况,并且在任何地方都找不到解决办法。
每当我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 致命错误:无法在第 83 行的 ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php 中重新声明 random_bytes() 错误解析 ./vendor/paragonie/random_compat/lib/random_bytes_openssl.php PHP 致命错误:无法重新声明字节() random_在 ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php 第 148 行解析错误 ./vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php xargs: php: exited with status 255; 中止 xargs:php:退出状态为 255;中止 PHP 致命错误:无法在 ./vendor/paragonie/random_compat/lib/random_int.php 中重新声明 random_int() 第 191 行错误解析 ./vendor/paragonie/random_compat/lib/random_int.php PHP 致命错误:无法重新声明 random_bytes( ) 在 ./vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php 第 76 行错误解析。
希望你们能帮助我。
谢谢!
我假设您的问题与此链接中 PHP 7 中存在 linting 问题的人相同: https: //github.com/paragonie/random_compat/issues/115。
这很奇怪,因为对我来说它工作正常,所以我必须假设你没有使用最新的 Laravel 版本或者你的composer.json文件不正确,因为你需要的所有包依赖项都paragonie/random_compat必须指向最新的paragonie/random_compat包,即2.0.4.
检查 上的所有 Laravel 默认包版本号composer.json,确保它需要正确的所需版本,如下所示:
"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.*"
}
Run Code Online (Sandbox Code Playgroud)
注意:对于未来的读者,我相信如果您不想升级,则不必更改 Laravel 版本一,但我相信您必须更改所有其余软件包版本才能使其正常工作。