Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在苹果M1上运行Laravel_Php_Laravel - Fatal编程技术网

Php 在苹果M1上运行Laravel

Php 在苹果M1上运行Laravel,php,laravel,Php,Laravel,我正在我的MacBookAir M1上安装Laravel,但是,我遇到了一些问题。PHP版本是PHP8.1.0-dev,Composer版本是2.0.13。当我跑步时: $ composer create-project laravel/laravel example-app 我收到以下错误消息: Deprecation Notice: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated

我正在我的MacBookAir M1上安装Laravel,但是,我遇到了一些问题。PHP版本是PHP8.1.0-dev,Composer版本是2.0.13。当我跑步时:

$ composer create-project laravel/laravel example-app
我收到以下错误消息:

Deprecation Notice: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in phar:///opt/homebrew/Cellar/composer/2.0.13/bin/composer/src/Composer/DependencyResolver/SolverProblemsException.php:111

Problem 1
    - phpunit/phpunit[9.3.3, ..., 9.4.0] require phpspec/prophecy ^1.11.1 -> satisfiable by phpspec/prophecy[1.11.1, ..., 1.13.0].
    - phpspec/prophecy 1.11.x-dev is an alias of phpspec/prophecy dev-master and thus requires it to be installed too.
    - phpunit/phpunit[9.4.1, ..., 9.5.x-dev] require phpspec/prophecy ^1.12.1 -> satisfiable by phpspec/prophecy[1.12.1, 1.12.2, 1.13.0].
    - phpspec/prophecy[dev-master, 1.12.0, ..., 1.13.0] require php ^7.2 || ~8.0, <8.1 -> your php version (8.1.0-dev) does not satisfy that requirement.
    - phpspec/prophecy 1.11.1 requires php ^7.2 -> your php version (8.1.0-dev) does not satisfy that requirement.
    - Root composer.json requires phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.5.x-dev].
不推荐使用注意事项:strpos():在中不推荐将null传递给字符串类型的参数#1($haystack)phar:///opt/homebrew/Cellar/composer/2.0.13/bin/composer/src/Composer/DependencyResolver/SolverProblemsException.php:111
问题1
-phpunit/phpunit[9.3.3,…,9.4.0]要求phpspec/prophecy^1.11.1->可满足phpspec/prophecy[1.11.1,…,1.13.0]。
-phpspec/prophecy 1.11.x-dev是phpspec/prophecy dev master的别名,因此也需要安装它。
-phpunit/phpunit[9.4.1,…,9.5.x-dev]要求phpspec/prophecy^1.12.1->可满足phpspec/prophecy[1.12.1,1.12.2,1.13.0]。
-phpspec/prophecy[dev master,1.12.0,…,1.13.0]需要php^7.2 | | ~8.0,您的php版本(8.1.0-dev)不满足该要求。
-phpspec/prophecy 1.11.1需要php^7.2->您的php版本(8.1.0-dev)不满足该要求。
-Root composer.json需要phpunit/phpunit^9.3.3->可由phpunit/phpunit满足[9.3.3,…,9.5.x-dev]。

您的错误消息似乎是由错误生成器生成的。composer的文档似乎暗示任何版本>=5.3.2就足够了,我可以肯定地说,在一段时间内不会有官方支持

我对您的错误进行了快速搜索,结果表明8.1引入的一个突破性更改是将
null
传递给一个不可为null的函数。的官方PHP文档表明,
strpos()
中的3个参数都不可为空,因此在以前的版本中由于标量类型而“允许”的参数在8.1中不再允许用于内部函数,因此您可能需要等待Composer正式支持8.1

即使您修复了Composer,您仍然在使用不受支持的PHP for Laravel版本。从他们的git中,
composer.json
文件指定

 "php": "^7.3|^8.0",
因此,PHP8.1不符合PHP8.0.x的要求,
^8.0
规范说明了这一点。因此,当您做到这一点时,可能会出现不受支持的错误



修复上述所有错误的最简单、最安全的解决方案是坚持使用PHP8.x,除非有充分的理由使用PHP8.1。

您的错误消息似乎是由错误生成的编写器。composer的文档似乎暗示任何版本>=5.3.2就足够了,我可以肯定地说,在一段时间内不会有官方支持

我对您的错误进行了快速搜索,结果表明8.1引入的一个突破性更改是将
null
传递给一个不可为null的函数。的官方PHP文档表明,
strpos()
中的3个参数都不可为空,因此在以前的版本中由于标量类型而“允许”的参数在8.1中不再允许用于内部函数,因此您可能需要等待Composer正式支持8.1

即使您修复了Composer,您仍然在使用不受支持的PHP for Laravel版本。从他们的git中,
composer.json
文件指定

 "php": "^7.3|^8.0",
因此,PHP8.1不符合PHP8.0.x的要求,
^8.0
规范说明了这一点。因此,当您做到这一点时,可能会出现不受支持的错误



修复上述所有错误的最简单、最安全的解决方案是坚持使用PHP8.x,除非有充分的理由使用PHP8.1。

您的PHP8.1版本是什么?或者您正在尝试安装Laravel 8.1.0?PHP8.1.0-dev@chrishasaapple M1与此无关,就我而言,最好将其删除为您的PHP 8.1版?或者您正在尝试安装Laravel 8.1.0?PHP 8.1.0-dev@chrishasaapple M1与此无关,就我而言,最好将其删除