postgresql — работники Gearman не могут получить доступ к среде PHP

Привет, я установил и настроил Gearman. До сих пор было здорово опробовать примеры, и когда я пришел к той части, где я на самом деле собираюсь использовать ее в своем проекте, именно здесь началась моя проблема.

Я использую Yii php framework в своем проекте, и я включил все мои рабочие файлы в основную директорию проекта.

ProjectName/workers/worker.php

Моя рабочая функция состоит в том, чтобы вставлять значения в базу данных с заданным параметром. Поэтому мне пришлось включить SQL-запрос, и так как я использую Yii, я использую:

Yii::app()->db->createCommand($sql)->execute();

и я сталкиваюсь с ошибкой:

PHP Fatal error:  Class 'Yii' not found in /home/user/lappstack-5.4.34-0/apache2/htdocs/ProjectName/workers/worker.php on line 52

Кажется, что мой CLI PHP не может найти Yii, поэтому я попытался сделать это в старой школе, используя PDO:

$db = new PDO('pgsql:db...........'usr','pas');
$stmt = $dbh->prepare($sql);
$stmt->execute();

и я получаю ошибку:

PHP Fatal error:  Uncaught exception 'PDOException' with message 'could not find driver' in /home/user/lappstack-5.4.34-0/apache2/htdocs/ProjectName/workers/worker.php:54

Таким образом, кажется, что рабочий в основном не имеет серверной среды в отличие от моего веб-приложения, которое может получать доступ к функциям Yii, а что нет. Как решить это?

0

Решение

Как вы порождаете своих рабочих? Чтобы использовать Yii, ваши работники должны быть созданы с помощью такой команды:
/ home / sites / projectName / php yiic имя-команды

Пожалуйста, прочитайте документацию по созданию команд, она хорошо написана:
http://www.yiiframework.com/doc/guide/1.1/en/topics.console

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]