Здравствуйте. Помогите решить проблему, как лучше поступить если мне нужен отдельный фаил на выполнение. то есть написав прямой путь /path/to/file.php он должен самостоятельно отдельно от сайта выполнится при этом используя все возможности фреймворка. Я думаю можно ли инициализировать фреймворк как это делаем в индексном файле и затем ниже обработать код… время работы и нагрузка на сервер не имеют значения. Извините если что непонятно отписал. Планировщики типа cron использовать не вариант и wget тоже…
В *nix если в начале файле прописано: !# <путь к интерпритатору> и у файла есть права на исполнение, то при клике на него в mc или командой консоли можно запустить его.
А что бы использовать возможности фреймворка вам нужно создать "команду" в папке "protected\commands\" создать файл оканчивающийся на "Command.php" например SayUserCountCommand.php
<?php
Yii::import('application.models.User');
class SayUserCountCommand extends CConsoleCommand {
public function run($args) {
$cnt= User::model()->countAll();
echo "User in DB now: ".$cnt;
}
}
см. Консольные приложения, CConsoleCommand
Вызов такого скрипта нужно выполнять из папки /protected командой "yiic SayUserCount" или если принципиально запуск одной командой, создайте себе в домашней папке bash скрипт который будет делать переход в нужную папку и вызывать "yiic SayUserCount"
На самом деле у вас должно быть правильно составлен скрипт "protected/yiic" его иногда нужно подправить.
Но мне все же интересно, какую задачу вы хотите решать таким "отдельным приложением".
Чисто научный интерес… я понимал что это не ведет к решению нижеследующей проблемы
а теперь суть проблемы, хостер отказывается выполнять простую команду php -f /protected/cron.php --business пишет, что невозможно передать параметр файлу cron и насколько я понял, они запускают не интепритатор php, а через wget вызывают исполняемый фаил, передал им им ,значится, такое дело для выполнения domain/index.php?r=site/cron
воспримет ли wget такую строку, исполнит ли скрипт контроллера?
на старом хостинге нормально добавлял в кронтаб php -f /protected/cron.php --business а тут послали к чертям…