更新:我刚才在评论中建议将此问题发布到bug跟踪器,现在我运行了新版本作曲家的干净安装(作曲家版本7131607ad1d251c790ce566119d647e008972aa5 2014-05-27 14:26:24),问题是固定.
原始帖子:我正在尝试使用http://docs.doctrine-project.org/en/latest/tutorials/getting-started.html上的教程学习如何使用doctrine2
但由于某种原因,我在尝试运行时遇到此错误composer install:
[ErrorException]
zlib_decode(): data error
Run Code Online (Sandbox Code Playgroud)
这是composer.json的内容:
{
"require": {
"doctrine/orm": "2.4.*",
"symfony/yaml": "2.*"
},
"autoload": {
"psr-0": {"": "src/"}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:PHP版本5.5.9.
编辑:输出composer install -vvv:
Reading ./composer.json
Executing command (CWD): git describe --exact-match --tags
Executing command (CWD): git branch --no-color --no-abbrev -v
Executing command (CWD): hg branch
Executing command (CWD): svn info --xml
Loading composer repositories with package information
Downloading https://packagist.org/packages.json
Writing C:/Users/User/AppData/Local/Composer/repo/https---packagist.org/packages.json into cache
Installing dependencies (including require-dev) …Run Code Online (Sandbox Code Playgroud) 我知道这个问题关于在 RESTful SPI 中使用 php 会话被问了很多次,但答案通常是 php 会话在多个请求中保留状态,因此不是无状态的,并且由于我对此声明有疑问,所以我想反驳它并得到好的答案:
如果我对 php 会话的理解正确的话,这就是它们的工作原理:
因此,服务器上不会保存任何应用程序状态信息,并且 php 会话是无状态的,因为会话 ID 是由客户端而不是服务器保存的。
当然,会话文件保存在服务器上,因此保留了状态。但是将信息保存在此会话文件中或将其保存在数据库中有何区别?无论是否有会话,一些数据都保存在服务器上,其中一些(或全部)仅与某个用户或一组用户相关。
假设有一场国际象棋比赛。假设所有游戏逻辑都在 php 文件中实现。士兵位置保存在表中。玩家必须以某种方式识别以告诉服务器下一步要做什么。现在假设士兵位置保存在会话文件中。玩家必须再次识别,这个场景与db表场景有什么不同吗?
编辑:感谢您的良好回答,他们提出了另一个问题:基于会话的应用程序(例如上一段中的国际象棋游戏)是否可以实现为 RESTful 服务?