За последние 24 часа нас посетили 36733 программиста и 1708 роботов. Сейчас ищут 1204 программиста ...

php cскрипт, запускается по крону.

Тема в разделе "Прочие вопросы по PHP", создана пользователем Ігор, 13 янв 2009.

  1. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Есть скрипт, который запускается по крону. Он расположен сразу в /home/my_login имеет следующее содержание
    PHP:
    1.  
    2.  <?php
    3.   $filename="domains/site.ru/public_html/musik/data.db";
    4.   $arch='reserv/data_'.date('y.m.d').".tar.gz";
    5.   shell_exec ("tar -czf $arch  $filename");
    6.  
    7.   // нижняя часть не выполняется.
    8.   //Права на папку [b]reserv[/b] ставил 700 - 770 - 777
    9.   //Все равно не хочет
    10.  
    11.   $id=dba_open ('reserv/log.ini', 'c','inifile');
    12.   dba_insert (date('h:i:s'), $arch , $id);
    13.   dba_close ($id);
    14.   $i=fopen ("reserv/server.log", 'a+');
    15.   fwrite ($i, date('h:i:s'));
    16.   fclose ($i);
    17. ?>
    18.  
    Подскажите, в чём проблема?
    Не создается ни dba ни текстовый файл
     
  2. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    наверно это повышенная солнечная активность

    пхп в ошибках наверняка так и пишет
     
  3. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Не понял, к чему это?
     
  4. djunkie

    djunkie Активный пользователь

    С нами с:
    19 ноя 2008
    Сообщения:
    134
    Симпатии:
    0
    к тому, что пхп наверняка выводит ошибки

    какие именно - желательно сообщить
     
  5. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Failed loading /usr/local/ioncube/ioncube_loader_lin_5.2.so:
    /usr/local/ioncube/ioncube_loader_lin_5.2.so: undefined symbol: zend_compile_string
    PHP Warning: PHP Startup: Unable to load dynamic library './ldap.so' - ./ldap.so:
    cannot open shared object file: No such file or directory in Unknown on line 0

    Fatal error: Call to undefined function dba_open() in /home/yuchimenko/gz.php on
    line 6
     
  6. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Во-первых, для нужно указывать полный абсолютный адрес до файла.


    Ну и ошибка настройки...
     
  7. Ігор

    Ігор Активный пользователь

    С нами с:
    7 апр 2008
    Сообщения:
    195
    Симпатии:
    0
    Я так понял, что не могут некоторый модули подгризиться.
    No such file or directory in Unknown on line 0 Что значит в строке 0
     
  8. alexey_baranov

    alexey_baranov Активный пользователь

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    Я тоже запускаю по крону много скриптов и при этом сталкивался с двумя видами ошибок:

    1. Это как уже говорилось пути к файлам. К примеру в корневой папке сервера /user/local/www/data/ лежит скрипт script.php а в нем вызывается open('trans/file1.xml'). Если script.php вызывать через браузер, то будет открыт файл, /user/local/www/data/trans/file1.xml. Это одно. А если этот же скрипт вызвать по крону, то будет открыт файл текущая_директория/trans/file1.xml. Точнее не будет открыт, потому что такого файла нет.

    лечится двумя способами. Или писать абсолютные пути до файлов или перед вызовом скрипта менять текущую папку на корневую папку сайта. Лично я пользую второе.

    2. А вторая ошибка, с которой я сталкивался- это "нет прав на запись", "нет прав на создание" и т.д. Это от того что по крону скрипт запускается от имени крона, а не от имени WEB- сервера как обычно. Лечить просто. Назначить пользаку крона те же права, что и пользаку ВЕБ-сервера.