Fiber::getCurrent() will only return true if you call it from within a Fiber while it is running.
<?php
$fiber = new Fiber(function () {
echo "Inside Fiber. getCurrent: ";
var_dump(Fiber::getCurrent()); Fiber::suspend();
echo "Inside Fiber again after resume(). getCurrent: ";
var_dump(Fiber::getCurrent()); });
echo "Before Fiber launch. getCurrent: ";
var_dump($fiber->getCurrent()); $fiber->start();
echo "After suspend. getCurrent: ";
var_dump($fiber->getCurrent()); $fiber->resume();
echo "After resume. getCurrent: ";
var_dump($fiber->getCurrent()); ?>
Result:
Before Fiber launch. getCurrent: NULL
Inside Fiber. getCurrent: object(Fiber)#1 (0) {}
After suspend. getCurrent: NULL
Inside Fiber again after resume(). getCurrent: object(Fiber)#1 (0) {}
After resume. getCurrent: NULL