php artisan 没有返回任何东西
php artisan not returning anything
今天我遇到了一个非常奇怪的情况,这是我以前从未遇到过的,而且在任何地方都找不到解决办法。
每当我在我的控制台中输入 php artisan
时,它不会 return 任何东西。尝试多次克隆 repo(在其他机器上工作正常)并为 laravel 项目做了一个新的 composer update
、composer 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版本一,但我相信你确实必须更改所有其他包版本以使其工作。
今天我遇到了一个非常奇怪的情况,这是我以前从未遇到过的,而且在任何地方都找不到解决办法。
每当我在我的控制台中输入 php artisan
时,它不会 return 任何东西。尝试多次克隆 repo(在其他机器上工作正常)并为 laravel 项目做了一个新的 composer update
、composer 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版本一,但我相信你确实必须更改所有其他包版本以使其工作。