【发布时间】:2019-01-03 16:49:07
【问题描述】:
尝试安装(并在更新作曲家之后):
composer create-project symfony-cmf/sandbox cmf-sandbox
我有这些错误:
Installing symfony-cmf/sandbox (2.0.0)
- Installing symfony-cmf/sandbox (2.0.0): Loading from cache
Created project in cmf-sandbox
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpcr/phpcr-utils 1.3.0 -> satisfiable by phpcr/phpcr-utils[1.3.0].
- phpcr/phpcr-utils 1.3.0 requires php ^5.6|7.0.x|7.1.x -> your PHP version (7.3.0) does not satisfy that requirement.
Problem 2
- phpcr/phpcr-utils 1.3.0 requires php ^5.6|7.0.x|7.1.x -> your PHP version (7.3.0) does not satisfy that requirement.
- doctrine/phpcr-odm 1.4.2 requires phpcr/phpcr-utils ^1.2.8 -> satisfiable by phpcr/phpcr-utils[1.3.0].
- Installation request for doctrine/phpcr-odm 1.4.2 -> satisfiable by doctrine/phpcr-odm[1.4.2].
编辑:继续 Timo 的推荐,我可以通过执行以下命令来安装项目:
composer create-project --ignore-platform-reqs symfony-cmf/sandbox cmf-sandbox
但是我得到了以下错误:
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ContextErrorException: Warning: count(): Parameter must be an array or an object that implements Countable in /srv/http/symfony/cmf-sandbox/vendor/symfony-cmf/routing/src/ChainRouter.php:101
Stack trace:
#0 /srv/http/symfony/cmf-sandbox/vendor/symfony-cmf/routing/src/ChainRouter.php(308): Symfony\Cmf\Component\Routing\ChainRouter->all()
#1 /srv/http/symfony/cmf-sandbox/var/cache/dev/appDevDebugProjectContainer.php(1670): Symfony\Cmf\Component\Routing\ChainRouter->setContext(Object(Symfony\Component\Routing\RequestContext))
#2 /srv/http/symfony/cmf-sandbox/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php(335): appDevDebugProjectContainer->getCmfRouting_RouterService()
#3 /srv/http/symfony/cmf-sandbox/var/cache/dev/appDevDebugProjectContainer.php(4955): Symfony\Component\DependencyInjection\Container->get('cmf_routing.rou...')
#4 /srv/http/symfony/cmf-sandbox/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.php(33 in /srv/http/symfony/cmf-sandbox/vendor/symfony-cmf/routing/src/ChainRouter.php on line 101
该项目使用 Symfony 版本 3 结构,可能与 PHP 7.3 有一些不兼容(正如 Timo 所说)。
【问题讨论】:
-
在packagist上查看包
phpcr/phpcr-utils,版本1.3.0只支持php 5.6 - 7.1。版本1.3.1似乎支持 PHP 7.x,所以应该可以工作。 -
还有问题吗?似乎没有进行大量的维护。我在 php 7.3 上的核心 Symfony 框架上遇到了一些麻烦。可能会尝试 php 7.2 甚至 7.1,看看会发生什么。只是猜测。
-
谢谢马格努斯。我已经通过 composer require phpcr/phpcr-utils 安装了 phpcr-utils 1.4.0 但是当我尝试安装 cmf-sandbox 项目时我遇到了同样的问题:phpcr/phpcr-utils 1.3.0 requires php ^5.6|7.0.x| 7.1.x -> 您的 PHP 版本 (7.3.0) 不满足该要求。我在重启服务器后尝试,也在重启后尝试。
-
感谢 Cerad 的贡献,但现在我有几个项目依赖于 7.3 版,并且为这个教学项目下载它并不能补偿我。
-
很公平。 PHP 确实引入了一些重大更改(从技术上讲,它们是修复)。实际上,更新问题中的计数警告是在 php7.2 中引入的,并且破坏了很多东西。 cmf有一个聊天频道。那里可能会有更好的运气。