Вызвать консольную оболочку CakePHP на сервере без доступа к командной строке - PullRequest
0 голосов
/ 29 октября 2009

Есть ли способ вызвать консольную оболочку CakePHP на сервере без доступа к оболочке? Я написал оболочку для однократного выполнения (и, следовательно, не задачи cron) задач по обновлению БД.

Я всегда мог просто скопировать логику во временный контроллер, вызвать его действия через http и затем удалить его, но мне было интересно, есть ли лучший способ сделать это.

Ответы [ 3 ]

1 голос
/ 29 октября 2009

Похоже, что это единственный скрипт, который вы, возможно, захотите запускать после обновления БД, верно?

Если это так, вы можете включить его в свой «скрипт обновления БД»

Если вы используете что-то наподобие капистрано, вы тоже можете включить его.

Во всех случаях, если вы не хотите прикасаться к оболочке, я согласен, что наличие контроллера для вызова кода консоли (или любого php-файла, выполняющего exec (), как упомянуто ранее), сработает.

Кроме того, если вы хотите запустить его только один раз и запланировать его - не забудьте, что у вас есть команда at (вместо cron), которая запустит ее в эту запланированную дату (см. http://linux.about.com/library/cmd/blcmdl1_at.htm)

Надеюсь, это поможет,

Приветствия

p.s: если это консольная оболочка, и вы не хотите запускать ее из консоли, просто не делайте ее консольной оболочкой.

1 голос
/ 29 октября 2009

Я должен согласиться с Элви. Поскольку это то, что вам нужно делать время от времени после того, как произошли другие события, почему бы просто не создать область «admin» для вашего приложения и вставить туда код для этого обновления?

0 голосов
/ 29 октября 2009

вы можете использовать функцию exec php для вызова из любого старого скрипта php.

http://www.php.net/exec

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...