
Я хочу запустить php-скрипт с помощью cron job на localhost. Мой скрипт находится по адресу:
/opt/lampp/htdocs/rrugd/myscript.php
Так как opt находится под root, я попытался добавить cron job для root, а также для обычного пользователя, но он не выполняется. Это cron job для выполнения php-скрипта каждые 2 минуты:
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
Мой скрипт в основном предназначен для усечения таблицы из базы данных. На самом деле это произойдет в полночь, поэтому фактические переменные задания cron изменятся на
00 00 * * * php /path/to/script.php
Но для тестирования я использовал каждые две минуты. Я искал в интернете и AU, но не могу его запустить. Я видел что-то, связанное с настройкой PATH, но я не понял, что именно нужно сделать в этом методе.
Также я хотел бы указать, что PHP-скрипт myscript.php
НЕ выполняется в CLI с помощью PHP-команды, однако он выполняется при запуске или вызове через браузер на локальном хосте!
PHP-информация:
some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
решение1
Предполагая, что егоphp5; Есть примеры использования php в cronjob. Вы можете попробовать один из них, следуя;
- Для использования
php5
в терминале вам понадобитсяphp5 cli
установленный. Сначала проверьте,php5 & cli
доступна ли функциональность. для этого;
johan@ubusrv:~$ php -v PHP 5.2.4-2ubuntu5.3 с Suhosin-Patch 0.9.6.2 (cli) (создано: 23 июля 2008 г. 06:44:49) Авторские права (c) 1997-2007 PHP Group Zend Engine v2.2.0, Авторские права (c) 1998-2007 Zend Technologies
Команда показывает, что ваша версия php5 вместе с php5 (cli) установлена. Если нет, установите его с помощью следующей команды;
sudo apt-get установить php5-cli
- После установки вы можете либо добавить
php
его двоичный путь к cronjob, как показано ниже;
с использованиемPHP-файлилиphp5
*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php
с использованиемPHP-файлдвоичный путь
*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php
Вы также можете использовать команды ниже, чтобы найти, где находится вашphp/php5путь есть;
johan@ubusrv:~$ какой php /usr/bin/php johan@ubusrv:~/cli$ где php php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz johan@ubusrv:~/cli$ тип -a php php - это /usr/bin/php
- В другом месте, если вам нужно вызвать PHP-скрипт с помощью URL, вы можете просто использоватьрысь,завитокилиwget. Убедитесь, что вы поместили свой PHP-скрипт в каталог
www
илиpublic_html
и правильно указали путь в cronjob.
*/2 * * * * wget -q http://localhost//myscript.php
Еще: PHP Cron Job: как выполнить PHP-скрипт с помощью Crontab в Linux