У меня на сайте есть база данных MySQL. Эта база данных должна проверяться и администрироваться каждый день. Для этого я написал один коротенький скрипт, который должен автоматически выполняться каждый день. Файл имеет расширение *.php и не содержит ничего кроме этого скрипта. Скрипт я писал "как обычно":
<?php
… тело скрипта …
?>
Сам скрипт я написал так, чтобы он выполняясь ничего не выводил на экран. В панели управления, в разделе CronJobs я настроил этот файл выполняться автоматически в одно и тоже время. Разместил я этот файл в корневой дерректории (public_html). В CronJobs указал следующий путь для выполнения: "/home/jeka/domains/название_домена/public_html/название_файла.php".
Пользуюсь я администраторской панелью управления "DirectAdmin".
Теперь вопрос: Этот скрипт ну никак не хочет выполняться. Путь я проверял - верный; сервер предоставляет такую услугу; если скрипт запускать "в ручную", т.е. обращаться к нему через браузер - выполняется правильно и без ошибок. В чем может быть проблема? Может мне нужно как-то специально изменить скрипт для автоматического выполнения? Или может быть я что-то сделал не так? Может быть скрипт выполняется, но при автоматическом выполнении нужно как-то по-другому обращаться к базе данных? В общем помогите чем сможете...
php - это шняга которая к Apache прикручивается и без него работать не будет.
твой скрипт нужно либо через браузер запускать, либо написать его на чем-нибудь что запускается само по себе.
0 Сообщения: 175 Зарегистрирован: 22.07.02 Откуда: Москва
Добавлено: 4 Октябрь 2003, 19:46:06
Есть два способа:
1-й, правильный) спросить у хостинг-провайдера, по какому пути лежит интерпретатор php, прописать его путь в первой строке скрипта (напр. #!/usr/local/bin/php), поставить на скрипт права 700 - всё будет работать.
2-й, неправильный) использовать команду fetch или wget, которая будет делать запрос к указанному URL'у.
Acid~Jazz 1. PHP - не шняга
2. PHP отлично работает без Apache и веб-сервера вообще.
3. "Само" ничего нигде не запускается, кроме программ скомпиленных статически, но это отношения к теме не имеет.
0 Сообщения: 12 Зарегистрирован: 01.10.03 Откуда: Юго-восточная Европа
Добавлено: 4 Октябрь 2003, 20:27:07
Timon писал(а):
А что если просто попросить браузеру лезть по урлу???
там вроде есть текстовый браузер. Будет что-то типа lynx http://your_url
Я зделал как ты сказал: "lynx http://www.adres_saita.net/nazvanie_faila.php"
Все работает превосходно, но вот только у меня вопрос: что потом происходит с этой страницей, открытой на сервере... Не произайдет ли что-то вроде накопления открытых страниц или загрузки памяти...
Или сервер ее закроет автоматически? Если да, то через сколько?
0 Сообщения: 175 Зарегистрирован: 22.07.02 Откуда: Москва
Добавлено: 4 Октябрь 2003, 21:51:29
Acid~Jazz Про использование вещей не по назначению согласен на 100%.
Только запуск lynx и apache для того, чтобы в конечном итоге запустить php, имхо явно избыточен.
вот я и советовал написать простенький скрипт на чем-нибудь, что изначально является скриптовым языком для работы в системе: perl, python... да и много их всяких, и простенькое программирование на них всех не сильно отличается.
0 Сообщения: 12 Зарегистрирован: 01.10.03 Откуда: Юго-восточная Европа
Добавлено: 4 Октябрь 2003, 23:02:30
Не, ну это я понял, но вы все-таки ответьте на мой вопрос:
что потом происходит со страницей, открытой на сервере через lynx??? Не произайдет ли что-то вроде накопления открытых страниц или загрузки памяти... Или сервер ее закроет автоматически? Если да, то через сколько?
_________________ Учиться, учиться и ещё раз учиться !!!
будут висеть, пока сервер не перезагрузится. а перезагрузится он наверняка не скоро, поэтому лучше бы вам предусмотреть что-нибудь для закрытия этого браузера, а лучше всего не извращаться и написать таки скрипт на перле хотя бы.
17 Сообщения: 4362 Зарегистрирован: 25.04.01 Откуда: Москва
Добавлено: 6 Октябрь 2003, 08:31:25
Student, и всем, кто не знает про существование крона рекомендуется почитать по этой теме. хотя бы - http://athena.vvsu.ru/docs/unix/man/crontab.html по проблеме - правильно укажи в первой строке путь к пхп. без этого точно работать не будет. поскольку ты настраиваешь запуск через панель управления, то скорее всего параметры запуска она (панель) выставляет правильно. раз файл отрабатывает при прямом запуске, то с большой вероятностью это не правильный путь к пхп в первой строке скрипта. что за хостинг у тебя?
Acid~Jazz, давай ты прежде чем что-то говорить "умное" будешь вчитываться в вопрос, смотреть маны по теме, а потом говорить? чесно - уже достало делать тебе подобные замечания.
_________________ Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
0 Сообщения: 102 Зарегистрирован: 13.06.03 Откуда: Харьков, Украина
Добавлено: 6 Октябрь 2003, 09:48:35
И ещё, если работаешь в Винде, то перевод строки после #!/usr/local/bin/php нужно сделать юниксовым, иначе возможны проблемы. Либо сохрани скрипт с юниксовыми переводами строк, либо вбей перевод строки уже на сервере любым консольным редактором, хоть бы и тем, что в mc.
0 Сообщения: 12 Зарегистрирован: 01.10.03 Откуда: Юго-восточная Европа
Добавлено: 6 Октябрь 2003, 13:08:48
Все, сделал, работает Из всех предложений единственным рабочим оказался вариант с 0 0 * * * /путь_до_пхп/php /home/путь_до_скрипта Отдельное спасибо -=SAS=-;
а также Timon, ptitov, Long
_________________ Учиться, учиться и ещё раз учиться !!!
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.