linux — загрузочный скрипт PHP rc.local работает только частично, запускается вручную — без проблем

У меня есть скрипт, который мне нужно запустить после загрузки системы. Поэтому я поместил сценарий в моем /etc/rc.local файл

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

screen -dmS PythonLoader /usr/bin/python2.7 /var/www/html/scripts/load.py
php '/var/www/html/cron/bootup.php'

exit 0

Внутри моего /var/www/html/cron/bootup.php файл У меня есть следующий код, который загружает файл с удаленного хоста

$head = array_change_key_case(get_headers($url, TRUE));
$remoteFileSize = $head['content-length'];
echo (file_put_contents($this->serverZipLocation . basename($url), fopen($url, 'r')) == $remoteFileSize) ? true : false;

Моя проблема в том, что приведенный выше код загружает только около 60% удаленного файла, после чего он просто останавливает выполнение скрипта. Глядя на мой /var/log/lighttpd/error.log не дает ничего, кроме сообщения о запущенном сервере.

Если я, однако, запустить скрипт вручную, просто войдите в терминал от имени пользователя root и напишите /etc/rc.local нет проблем вообще.

Для удобства /var/www/html/scripts/load.py который также загружен внутри /etc/rc.local У файла нет проблем.

Почему это не работает?

РЕДАКТИРОВАТЬ: я пытался сейчас поставить sleep 120 как раз перед первой строкой rc.localи это, кажется, заставляет его работать. Может показаться, что что-то необходимое не готово при запуске сценариев? Может быть, сеть?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]