Centos автозапуск php скрипта при перезагрузке

Тема в разделе "Администрирование серверов", создана пользователем toty, 20 мар 2012.

Модераторы: mefish, stooper
  1. toty

    toty Постоялец

    Регистр.:
    1 авг 2011
    Сообщения:
    106
    Симпатии:
    2
    CentOS 5.7 нужно запустить в фоне PHP скрипт при старте системы
    В общем суть такая, при перезагрузке контейнера запустить PHP скрипт находящийся в каталоге: /var/www/html/tmp/init.php.
    Если делать:
    /var/www/html/tmp/init.php - вылазит куча ошибок;
    Если делать:
    cd /var/www/html/tmp/
    ./init.php - все гуд запускается

    Побывал так /etc/rc.d/rc.locale lдобавить строку:
    /usr/bin/php /var/www/html/tmp/init.php

    Но похоже из-за, ошибок как-то не запускается, что можно сделать, чтобы перейти в каталог?

    1. И что это изменит, когда мне нужно перейти в директоию скритпа, чтобы его бебалезннно запускать?
    2. Крон не подходит, т.к. мне нужно чтобы скипт был постоянно запущен, а не с определенными интервалами и стартовал вместе с ОС.
     
  2. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    420
    Симпатии:
    285
    Use the absolute path, Luke.
    dirname(__FILE__) . '/имя папки/имя файла';

    Иначе если ты написал include('123.php'); он у тебя ищет от корня (или от cd), т.е. вместо /var/www/.../123.php ищет в /123.php.
     
  3. toty

    toty Постоялец

    Регистр.:
    1 авг 2011
    Сообщения:
    106
    Симпатии:
    2
    хм. т.е. дело все в путях...
    chdir('../../../'); - у меня?
    либо задать пути рукам точные? как я понял?
     
  4. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    в php в самом начале добавить одну строку
    chdir ('/var/www/html/tmp/');
    и все
     
    taigersneoks нравится это.
  5. toty

    toty Постоялец

    Регистр.:
    1 авг 2011
    Сообщения:
    106
    Симпатии:
    2
    В принципе заработало, а как пустить в другую консоль вывод /usr/bin/php /var/www/html/tmp/init.php > tty2 ????
     
  6. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    /usr/bin/php /var/www/html/tmp/init.php > /dev/tty2 2>&1

    2>&1 это для того, чтобы не только просто вывод шел в tty2 но и вывод ошибок шел туда же