Почему не находит класс?

Такая ситуация.
Gearman поставил через brew.
Расширение для php собрал с исходников.

➜  php --info | grep gearman                                                                                              ruby-2.3.1 
/usr/local/etc/php/5.6/conf.d/ext-gearman.ini,
gearman
gearman support => enabled
libgearman version => 1.1.14


Если запускать воркер в ручную:
kota@iMac—Kota ~/Sites/localhost/example
➜  php worker.php &                                                                                                       ruby-2.3.1 
[1] 91100
kota@iMac—Kota ~/Sites/localhost/example
➜  ps ax | grep worker.php                                                                                                ruby-2.3.1 
91100 s001  SN     0:00.05 php worker.php


Если же запускать из php скрипта:

$ctl_string = "php ". Settings::full_path_to_workers() . Settings::$worker_file_name ." > /dev/null &";
exec($ctl_string);

То по какой-то причине не находит класс
Fatal error: Class 'GearmanWorker' not found in /Users/kota/Sites/localhost/example/worker.php on line 3


Третья строчка worker.php

$worker = new GearmanWorker();

В чем может быть проблема?
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
ImKota
@ImKota Автор вопроса
Нужно было указать полный путь к php
$ctl_string = "/usr/local/bin/php ". Settings::full_path_to_workers() . Settings::$worker_file_name ." > /dev/null &";
exec($ctl_string);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы