小编tim*_*img的帖子

PHP7 + Symfony 2.8,无法写入会话数据

我自己编译php7(974f6c2a705).如果我使用symfony运行php7 + php-fpm + nginx我收到此错误:

(使用snc redis包进行会话:)

 Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/tmp)
Run Code Online (Sandbox Code Playgroud)

(使用本机会话支持:)

 Warning: session_write_close(): Failed to write session data (user). Please verify that the current setting of session.save_path is correct (/[...]/app/cache/dev/sessions)
Run Code Online (Sandbox Code Playgroud)

问题似乎与symfony有关,因为php具有对文件夹的读/写访问权限.

如果我只运行此代码,它的工作原理如下:

session_start();
$_SESSION['x'] = 4234;
session_write_close();
Run Code Online (Sandbox Code Playgroud)

任何有关symfony未能编写会话的建议或想法?

php symfony php-7

17
推荐指数
2
解决办法
1万
查看次数

elasticsearch group-by multiple fields

我正在寻找在elasticsearch中分组数据的最佳方法.Elasticsearch不支持sql中的'group by'之类的东西.

假设我有1k类别和数百万种产品.您认为渲染完整类别树的最佳方式是什么?of couse jou需要一些元数据(图标,链接目标,seo-titles,...)和类别的自定义排序.

  1. 使用聚合:示例:https://found.no/play/gist/8124563 看起来可用,如果您必须按一个字段分组,并需要一些额外的字段.

  2. 在Facet中使用多个字段(不会工作)示例:https://found.no/play/gist/1aa44e2114975384a7c2 这里我们失去了不同字段之间的关系.

  3. 建立有趣的方面 https://found.no/play/gist/8124810

例如使用这3个"解决方案"构建类别树很糟糕.解决方案1可能工作(ES 1现在不稳定)解决方案2不起作用解决方案3是痛苦的,因为它感觉很难看,你需要准备大量数据并且方面爆炸.

可能替代方案可能不是在ES中存储任何类别数据,只是id https://found.no/play/gist/a53e46c91e2bf077f2e1

你可以从另一个系统获得关联的类别,比如redis,memcache或数据库.

这将最终成为干净的代码,但性能可能会成为一个问题.例如从memcache/Redis /数据库加载1k类别可能很慢.另一个问题是同步2个数据库比同步一个更困难.

你怎么处理这样的问题?

我很抱歉链接,但我不能在一篇文章中发布超过2个.

group-by elasticsearch

13
推荐指数
3
解决办法
3万
查看次数

pl中的phpspec标量值

我试图使用带有标量值的let函数.我的问题是价格是双倍的,我预计是5.

function let(Buyable $buyable, $price, $discount)
{
    $buyable->getPrice()->willReturn($price);
    $this->beConstructedWith($buyable, $discount);
}

function it_returns_the_same_price_if_discount_is_zero($price = 5, $discount = 0) {
    $this->getDiscountPrice()->shouldReturn(5);
}
Run Code Online (Sandbox Code Playgroud)

错误:

? it returns the same price if discount is zero
expected [integer:5], but got [obj:Double\stdClass\P14]
Run Code Online (Sandbox Code Playgroud)

有没有办法使用let函数注入5?

php unit-testing phpspec

4
推荐指数
1
解决办法
795
查看次数

标签 统计

php ×2

elasticsearch ×1

group-by ×1

php-7 ×1

phpspec ×1

symfony ×1

unit-testing ×1