define('MY_CONSTANT', true); function test() { } class Foobar { } class Example extends Thread { public function run() { var_dump(defined('MY_CONSTANT')); var_dump(function_exists('test')); var_dump(class_exists('Foobar')); } } // true true true $job = new Example(); $job->start(); // default argument is PTHREADS_INHERIT_ALL $job->join(); // false false true $job = new Example(); $job->start(PTHREADS_INHERIT_CLASSES); $job->join(); // true true true $job = new Example(); $job->start(PTHREADS_INHERIT_CLASSES | PTHREADS_INHERIT_CONSTANTS | PTHREADS_INHERIT_FUNCTIONS); $job->join();