У меня Raspberry Pi 3 под управлением Raspbian GNU/Linux 8 (jessie)
Linux version 4.1.18-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) )
Работают Apache, PHP и MySQL. Он считывает данные с другого устройства локальной сети, регистрирует их в базе данных MySQL и отправляет на удаленный сервер. Строки в таблице MySQL удаляются через 7 дней после записи, но только если они успешно отправлены на сервер.
При загрузке служба запускает файл loop_send.sh
, который вызывает PHP-скрипт каждые 10 секунд:
#!/bin/bash
COUNTER=0
WAITTIME=10
while [ $COUNTER -lt 5 ]; do
/usr/bin/php /var/www/send.php
sleep $WAITTIME
#let COUNTER=COUNTER+1
done
send.php проверяет наличие новых записей в MySQL и отправляет их на удаленный сервер.
Существует аналогичный сервис, .sh и PHP-файл для чтения данных из локальной сети и записи в таблицу MySQL.
Все работало нормально с июня 2016 года. 31 августа устройство перестало отправлять отчеты на удаленный сервер, но оставалось включенным и подключенным к сети до сих пор.
В /var/log/sendservice.err
них тысячи:
loop_send.sh: line 9: 3702 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3708 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3711 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3716 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3722 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3725 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3728 Segmentation fault /usr/bin/php /var/www/send.php
loop_send.sh: line 9: 3735 Segmentation fault /usr/bin/php /var/www/send.php
Далее следует множество:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
а потом:
PHP Warning: PHP Startup: curl: Unable to initialize module
Module compiled with build ID=aPI2013q226,NTS
PHP compiled with build ID=API20131226,NTS
These options need to match
in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
а потом:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20131226/curl.so' - /usr/lib/php5/20131226/curl.so: symbol steerr, version GLIBC_2.4 not defined in file libc.so.6 with link time reference in Unknown on line 0
PHP Fatal error: Call to undefined function curl_init() in /var/www/communication.php on line 71
invalid subsection length 4194340, max allowed 36
Размер этого файла журнала составляет 45 МБ, каждое из этих сообщений многократно повторяется перед следующим.
Я думаю, что "Segmentation fault" является причиной всего остального, но я не могу найти причину. До того, как это произошло, на Pi не было монитора и устройств ввода.
решение1
Из вашего вывода ясно, что данные, загружаемые в память, не соответствуют тому, что есть.долженвыходить из ваших СМИ. Например:
ID=aPI2013q226,NTS
Это показывает множественные однобитовые ошибки. Другие записи журнала, которые вы опубликовали, также предполагают, что загружаемые программы также повреждены.
Проверьте исправность SD-карты или другого носителя.