2015-05-14 3 views
1

Я запускаю приложение хорошо в yii2. Я создал контроллер команды /команды/TestControlleryii2 cron дает ошибку «PDO not found»

<?php 

namespace app\commands; 

use app\models\UserProfile; 
use yii\console\Controller; 
use app\controllers\AppController; 
/** 
* Test controller 
*/ 
class TestController extends Controller 
{ 

    public function actionIndex() 
    { 
     echo "cron service running"; 
    } 

    public function actionSendBirthdaySms() 
    { 
     $userProfile = UserProfile::find() 
      ->where('MONTH(dob) = MONTH(DATE(NOW()))') 
      ->andWhere('DAY(dob) = DAY(NOW()) ') 
      ->with('user') 
      ->asArray() 
      ->all(); 

     foreach($userProfile as $item){ 
      $birthdayMessage = "Happy Birthday " . $item['user']['username']; 
      //to send sms 
      $this->_send_cron_sms($item['mobile'], $birthdayMessage); 
     } 
    } 

У меня есть две функции здесь. Когда я звоню php /home/user/public_html/yii test/index, он дает правильный вывод с командной строкой и cron.

Но когда я бегу php /home/user/public_html/yii test/send-birthday-sms, он работает ОК с командной строкой в ​​среде ssh, и я получаю SMS. Но ошибка в cron. Вот что я получил по электронной почте:

Status: 500 Internal Server Error 
X-Powered-By: PHP/5.4.39 
Content-type: text/html 

PHP Fatal Error 'yii\base\ErrorException' with message 'Class 'PDO' not found' 

in /home/user/public_html/vendor/yiisoft/yii2/db/Connection.php:609 

Stack trace: 
#0 [internal function]: yii\base\ErrorHandler->handleFatalError() 
#1 {main} 

Я также попробовал построитель запросов, но это также не помогло мне.

ответ

2

Я решил эту проблему путем добавления этих двух расширений в файле php.ini

extension=pdo.dll 
extension=pdo_mysql.dll 

я уже задал тот же самый вопрос в Yii forum

Смежные вопросы