【问题标题】:Vips library threads limitVips 库线程限制
【发布时间】:2020-09-11 21:49:44
【问题描述】:

如何通过 php 代码限制 vips lib 中的活动线程数? 我想为瓷砖切割大图像,但我猜有来自主机的终止脚本以限制 proc。

在网络中,我无法找到像 php 模块那样使用 vips 的好例子。我编写了这段代码,这是可行的,但没有限制。

$im = vips_image_new_from_file('./big_image.png', ['access' => 'sequential'])["out"];
vips_call('dzsave', $im, './folder', ["overlap" => 0, "tile-size" => 256, "depth" => "one"]);

【问题讨论】:

    标签: php multithreading limit vips


    【解决方案1】:

    我找到了这个功能:

    vips_concurrency_set($number_of_threads);
    

    在使用 1 或 2 之后(也许我可以使用更多,我不尝试)托管服务提供商不会终止进程,但 lib 的工作速度非常快。

    【讨论】:

    • 我会改用 php-vips ——它是一个更好的界面,并且有正确的文档记录。你也可以设置环境变量VIPS_CONCURRENCY,如果这样更容易的话。 github.com/libvips/php-vips
    • 我不使用作曲家,这是在共享主机上工作。
    • 如果你不想使用 Composer,你不需要使用 -- 只需将 php-vips 源代码复制到你的项目中(这就是 composer 所做的一切)。
    • 如果不能使用它们并获得相同的结果,作曲家需要什么?
    • Composer 将为您管理一组依赖项并自动更新它们——但如果您愿意,您可以自己复制文件。您可以在共享主机上使用 composer。
    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 2012-03-28
    • 2020-07-04
    相关资源
    最近更新 更多